有没有一种方法可以使用“用于jQuery的Ajax AutoComplete”来自定义搜索?

时间:2019-06-12 14:44:31

标签: javascript jquery

我正在使用this库执行自动完成搜索。现在的作用是:如果我在 lookup 标记中包含3个元素-假设是“ aa”,“ ba”,“ bb”-如果我键入字母“ a”,我会同时获得两个“建议框中的“ aa”和“ ba”。我想要的是,如果我输入“ a”,则在建议框中只能得到“ aa”作为结果;如果我输入“ b”,我会同时得到“ ba”和“ bb”,因为它们都以字母“ b”开头。

预先感谢任何人。

代码非常简单,因为我不知道如何执行搜索。

代码:

var countries = [
   { value: 'Andorra', data: 'AD' },
   // ...
   { value: 'Zimbabwe', data: 'ZZ' }
];

$('#autocomplete').autocomplete({
    lookup: countries,
    lookupLimit: 10
});

1 个答案:

答案 0 :(得分:0)

如果您阅读文档,将会发现

  

lookupFilter:函数(建议,查询,queryLowerCase){}过滤   用于本地查找的功能。默认情况下,它会匹配部分字符串   (不区分大小写)。

因此,您所需要做的就是定义函数以使其希望其过滤建议。

$('#autocomplete').autocomplete({
    lookup: countries,
    lookupLimit: 10
    lookupFilter: function (suggestion, query, queryLowerCase) {
      return suggestion.value.toLowerCase().startsWith(queryLowerCase)
    }
});