如何对select2自动完成结果进行排序,只显示以第一个字母开头的项目

How to sort select2 autocompletion results, showing only items starting with first letter

本文关键字:显示 第一个 项目 开头 排序 select2 结果      更新时间:2023-09-26

我想修改结果,以便只匹配以搜索词开头的单词。

这是我迄今为止的代码:

var $elem = $( ".auto{!randomJsIden}" );
$elem.select2({
    sortresults:true,
    minimumInputLength: 1,
    placeholder: "No value selected",
    allowClear : {!allowClear},
    query: function (query) {
         queryData{!randomJsIden}(query);
    },
    createSearchChoice:function(term, data) {
         if ({!syncManualEntry} == true) {
             return {id:term, text:term};
         }
    }
});

假设我的字段值为apple、菠萝。当我在搜索字段中键入"app"时,结果中应该只显示"apple"。

我在javascript方面经验不足。让我知道我必须在哪里进行修改才能获得这个排序结果。

Select2示例页面上显示

与此页面上的其他下拉菜单不同,只有当术语出现在字符串的开头而不是任何位置时,此下拉菜单才会匹配选项
此自定义匹配器使用的兼容模块仅捆绑在Select2 的完整版本中

您还可以选择使用更复杂的匹配器。