jQuery-autocomplete过滤器匹配首字母

时间:2014-04-23 09:07:29

标签: javascript jquery autocomplete

我使用下面的插件来创建自动完成功能:

https://github.com/devbridge/jQuery-Autocomplete

下面是他们的现场演示:

http://www.devbridge.com/sourcery/components/jquery-autocomplete/#jquery-autocomplete

现在的问题是,我想过滤结果,只显示字母匹配以第一个字母开头。

例如,如果我输入'a',则只会出现以'a'开头的国家/地区。

我检查了这个插件的库,我看到那里有一个lookupFilter函数,但不知道如何使用它。

任何曾经使用过这个库的人都会给出一些指示吗?

我想使用这个插件而不是jQuery UI,因为它是轻量级的。

1 个答案:

答案 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作为首次出现时返回结果。