JavaScript-Select2类型选择
作者:互联网
我正在尝试使用select2具有状态的多选下拉列表,但是出了点问题.
通常,当您键入一个选项时,它会突出显示,以便您可以按Enter键并将其选中.它强调该选项,但不突出显示它,因此,如果我键入“ alabama”但按回车,它将选择“ arkansas”.
我正在使用最新版本(3.5.1)
的HTML
<label class="control-label" for="states">States:</label>
<input id="states" name="states" />
<input class="btn btn-primary" type="submit" value="Submit Search" />
JavaScript:
$("#states").select2({
width: 'resolve',
maximumSelectionSize: 5,
ajax: {
dataType:"json",
url:"getStates.cfm",
results: function(data) {
return {results:data};
}
},
multiple:true
});
我是否缺少某种参数?我本可以发誓,上次使用它时效果很好.没有控制台错误,并且单击完美选择.
请注意,github页面的工作方式与我想要的一样(键入时,它会选择匹配的第一个选项)
解决方法:
在Select2 3.x中,下拉菜单中突出显示的结果将始终是搜索期间的第一个结果.这将在Select2 4.x中更改,因此如果存在所选的选项,则将其选中.
您正在寻找要以不同方式排序的结果.默认情况下,Select2通过DOM中的选项顺序对选项进行排序,而不是根据它们的相关性来排序.有关如何使用sortResults选项自定义结果排序的文档provides an example.
请记住,使用AJAX时,在服务器端对结果进行排序更为有效,这就是为什么Select2不进行任何进一步排序的原因.这将解释为什么在搜索“阿拉巴马州”时返回“阿肯色州”的原因.
标签:jquery-select2,javascript,jquery 来源: https://codeday.me/bug/20191121/2049205.html