我在选择标签和输入文本框中有一些选项。一旦用户在文本框中输入内容,相关选项就会显示,其余选项需要隐藏。
<select size="8" style="width:150;">
<option value="something1">Apple</option>
<option value="something1">Banana</option>
<option value="something2">Mango</option>
<option value="something2">Orange</option>
<option value="something2">Papaya</option>
<option value="something3">Grape</option>
<option value="something3">Coco</option>
<option value="something3">Chocolate</option>
</select>
<input type="text" >
当我在文本框中输入 ap
时,只有 Apple、Papaya 应该可见。请让我知道如何通过 jQuery 实现此目的。
最佳答案
演示: https://so.lucafilosofi.com/narrow-down-the-select-options-from-text-search-using-jquery
$(function() {
$('input.search').on('change', function() {
$(this).prev('select.term').find('option:not(:containsi(' + this.value + '))').hide();
}).on('keyup', function() {
$(this).prev('select.term').find('option:containsi(' + this.value + ')').show().attr('selected', true);
}).extend($.expr[':'], {
'containsi' : function(elem, i, match, array) {
return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || '').toLowerCase()) >= 0;
}
});
});
关于javascript - 使用 jQuery 缩小文本搜索的选择范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7008595/