编程语言
首页 > 编程语言> > JavaScript-Select2类型选择

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