Удалите !
вашу searchFilter
функциональную строку 13
Таким образом, результат
$('.search').on('keyup keydown', function(){
searchFilter($(this).val());
});
function searchFilter(value){
$('option').each(function(){
if($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0){
$(this).removeClass('hidden');
$(this).removeAttr('disabled');
if($(this).parent().is('span')){
$(this).unwrap('<span>');
}
}else{
$(this).addClass('hidden');
$(this).prop('disabled', true);
if($(this).parent().is('span')){
$(this).wrap('<span>');
}
}
});
}
.hidden{
display: none !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" class="search" />
<div class="row">
<select multiple style="width: 150px;height:200px" id="search">
<optgroup label="test01">
<option>car</option>
<option>bike</option>
<option>cycle</option>
</optgroup>
<optgroup label="test02">
<option>orange</option>
<option>apple</option>
<option>pineapple</option>
</optgroup>
</select>
</div>
Команда (клавиша с клевером / яблоком рядом с пробелом) косая черта (/)
Apple + Shift + / переключит блок выбранного кода с помощью / * * /
Apple + / переключит строку (или несколько, если выбрано), используя //
Возможно, вам придется отключить горячую клавишу ОС (apple + shift + / вызывает меню справки)