我使用下面的插件来创建自动完成功能:
https://github.com/devbridge/jQuery-Autocomplete
下面是他们的现场演示:
http://www.devbridge.com/sourcery/components/jquery-autocomplete/#jquery-autocomplete
现在的问题是,我想过滤结果,只显示字母匹配以第一个字母开头。
例如,如果我输入'a',则只会出现以'a'开头的国家/地区。我检查了这个插件的库,我看到那里有一个lookupFilter
函数,但不知道如何使用它。
任何曾经使用过这个库的人都会给出一些指示吗?
我想使用这个插件而不是jQuery UI,因为它是轻量级的。
答案 0 :(得分:5)
我在他们的库中检查了lookupFilter
,下面是代码:
lookupFilter: function (suggestion, originalQuery, queryLowerCase) {
return suggestion.value.toLowerCase().indexOf(queryLowerCase) !== -1;
},
如果它存在于结果中,它们将基本返回值。
-1
表示找不到字母a
,因此他们会在任何时候返回该值。
所以只需将其调整为:
lookupFilter: function (suggestion, originalQuery, queryLowerCase) {
return suggestion.value.toLowerCase().indexOf(queryLowerCase) === 0;
},
正好在第0个索引。
这将以a
作为首次出现时返回结果。