在我的页面上,我有一个select
列表,其中包含100多个选项,我想知道当用户输入一个字符时是否有可能说's'表示该列表带有第一个s结果到下拉窗口的顶部?
目前,默认行为是将第一个结果带到窗口的最底部。
在这个demo中你可以看到输入一个字母说'p'将它带到窗口的底部。如果没有足够的结果填满窗户,我希望它被带到顶部,或尽可能高。
答案 0 :(得分:1)
自己编程此功能可能不值得。相反,我建议使用现有的库:
以下是Select 2文档中的示例代码。您正在寻找的功能将立即开箱即用。
$(document).ready(function() {
$(".js-example-basic-single").select2();
});
<select class="js-example-basic-single">
<option value="AL">Alabama</option>
<option>...</option>
<option value="WY">Wyoming</option>
</select>
答案 1 :(得分:0)
你应该试试这个。
$(document).ready(function() {});
function filterItems(thisobj) {
var removedOption = $("select option").filter(function(i) {
return ($(this).text().search($(thisobj).val()) < 0);
}).remove();
$("select").append(removedOption);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<input type="text" onchange="filterItems(this);" />
<select>
<option value="1">ankit</option>
<option value="">parth</option>
<option value="">bhavik</option>
<option value="">dilip</option>
<option value="">tejas</option>
<option value="">Zibra</option>
<option value="">jon</option>
<option value="">mak</option>
<option value="">swati</option>
<option value="2">niks</option>
<option value="3">sids</option>
<option value="4">mans</option>
<option value="5">mit</option>
<option value="6">vipul</option>
</select>
&#13;