我正在使用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
});
答案 0 :(得分:0)
如果您阅读文档,将会发现
lookupFilter:函数(建议,查询,queryLowerCase){}过滤 用于本地查找的功能。默认情况下,它会匹配部分字符串 (不区分大小写)。
因此,您所需要做的就是定义函数以使其希望其过滤建议。
$('#autocomplete').autocomplete({
lookup: countries,
lookupLimit: 10
lookupFilter: function (suggestion, query, queryLowerCase) {
return suggestion.value.toLowerCase().startsWith(queryLowerCase)
}
});