gpt4 book ai didi

javascript - 如何停止 Bootstrap-3-Typeahead 下拉列表按排序顺序显示元素

转载 作者:行者123 更新时间:2023-11-30 16:31:16 25 4
gpt4 key购买 nike

我正在使用 Bootstrap-3-Typeahead

有没有办法避免下拉数据按自然顺序排序?

这将在 onFocus 事件的下拉列表中显示源中的所有数据。所以问题是它只会显示有限数量的具有自然排序顺序的元素,尽管我不希望它们如此。

我怎样才能避免它们被排序。

$('#device').tagsinput({
typeahead: {
source: ['Amsterdam', 'Washington', 'Sydney', 'Beijing', 'Cairo','Amstedrdam', 'Washidngton', 'Syddney', 'Bedijing', 'Caidro','Amzstderdam', 'Washidnzgton', 'Sydzdney', 'Beijzding', 'Caidzro'],
autoSelect: false,
showHintOnFocus : true,
minLength : 0
}
});

最佳答案

问题不在Typeahead插件,而是在第二个bootstrap-tagsinput插件。不幸的是,如果不编辑源代码,您将无法解决它。

看看这个JSFiddle

如何从 bootstrap-tagsinput.js 的源代码中读取信息在第 310 行:

sorter: function (texts) {
return texts.sort();
},

sorter 选项由 bootstrap-tagsinput 插件提供给 Typeahead 插件,因为该插件是在立即调用的函数表达式中执行,您不能覆盖 sorter 方法。您应该 fork 插件并更改排序器选项:

sorter: function (texts) {

var sorter = typeahead.sorter || function (items) { return items.sort(); }
return sorter(texts);
},

enter image description here

所以你的插件初始化将是:

$('#ppp').tagsinput({
typeahead: {
source: ['Amsterdam', 'Washington', 'Sydney', 'Beijing', 'Cairo', 'Amstedrdam', 'Washidngton', 'Syddney', 'Bedijing', 'Caidro', 'Amzstderdam', 'Washidnzgton', 'Sydzdney', 'Beijzding', 'Caidzro'],
sorter: function (texts) {
return texts;
}
}
});

...一旦你完成了这个,它就会起作用

关于javascript - 如何停止 Bootstrap-3-Typeahead 下拉列表按排序顺序显示元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33287532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com