搜索下拉列表时,是否可以将结果置于顶部?

时间:2015-12-23 10:14:24

标签: javascript jquery html drop-down-menu

在我的页面上,我有一个select列表,其中包含100多个选项,我想知道当用户输入一个字符时是否有可能说's'表示该列表带有第一个s结果到下拉窗口的顶部?

目前,默认行为是将第一个结果带到窗口的最底部。

在这个demo中你可以看到输入一个字母说'p'将它带到窗口的底部。如果没有足够的结果填满窗户,我希望它被带到顶部,或尽可能高。

2 个答案:

答案 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)

你应该试试这个。

&#13;
&#13;
$(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;
&#13;
&#13;