jQuery自动填充显示包含搜索关键字的结果

时间:2011-08-12 19:15:35

标签: jquery search autocomplete keyword

我正在尝试实施类似谷歌即时搜索的内容,在您在文本框中输入时显示可能的搜索。

到目前为止,我得到了结果为json字符串和jquery自动完成显示它们完美。现在我想显示所有包含搜索关键字的结果。

比如说,如果搜索键是“foo bar”,我的结果是“foo fun bar”;现在结果中包含“foo”和“bar”键,但当前的自动完成插件不会显示它。

有没有办法修改插件来实现这个目标?

3 个答案:

答案 0 :(得分:1)

您需要修改自动完成窗口小部件的过滤器函数的默认行为,以将文本框值拆分为单个标记,并在每个标记上搜索源对象。

你可以download the jQuery UI source here。查看jquery.ui.autocomplete.js第422行,了解您需要修改的过滤器功能。您会注意到它返回正则表达式的测试,以查看值对象的标签成员,值成员或值对象本身是否与正则表达式匹配。您必须将测试结果聚合在由.split()调用返回的数组中的每个字符串上,该字符串元素来自这三个源中的一个。

如果您想缩小已修改的自动填充代码,请使用Google's Closure Compiler Service

答案 1 :(得分:0)

您如何查询数据?在服务器站点中,您应该获取 包含 您的搜索的所有记录,而不是Startwith。

答案 2 :(得分:0)

取决于您获取数据的方式。按空格拆分关键字并列出同时具有Foo和Bar的所有数据。