自动完成结果使用JQuery进行格式化

时间:2009-11-07 02:03:36

标签: javascript jquery autocomplete plugins

我目前正在使用this autocomplete plugin。这很简单。它接受一个URL,然后使用该数据执行自动完成。

这是我自动完成它的代码。

autocompleteurl = '/misc/autocomplete/?q='+$("#q").val()
$("#q").autocomplete(autocompleteurl, {multiple:true});

如果有人输入“apple”,那么autocompleteurl页面将返回此结果:

apple store,applebees,apple.com,apple trailers,apple store locator,apple vacations,applebees menu,apple iphone,apple tablet,apple tv 

然而,出于某种原因,当我实际使用这个自动完成时,一切都被废弃在一起。该插件将整个页面视为一个大字符串,而不是将逗号分隔并将它们视为单个项目。

有人可以告诉我我需要选择哪些选项才能将它们视为个别物品?我尝试了很多选项但没有工作。

3 个答案:

答案 0 :(得分:2)

从手册(http://docs.jquery.com/Plugins/Autocomplete/autocomplete#url_or_dataoptions

  

值“foo”会导致这种情况   请求网址:   my_autocomplete_backend.php Q = FOO&安培;限制= 10

     

结果必须返回一个值   在每一行。结果呈现   按后端发送的顺序。

根据您发布的内容,您似乎将逗号分开。

答案 1 :(得分:0)

插件会自动将q添加到查询字符串,并使用文本框的当前值作为值。

只要您以正确的格式返回数据,这就足够了:

$("#q").autocomplete('/misc/autocomplete/', {multiple:true});

答案 2 :(得分:0)

@alex我也变得很古怪 - 2/3/4字母表 见http://docs.jquery.com/Plugins/Autocomplete/autocomplete#toptions
如果将minChars选项设置为2或3,则会使事情变得更加清晰 当你有5个结果为“ab”和5个结果为“abc”时会有一些有趣的行为 - 它确实没有,给予印象它不能正常工作!<登记/> 但它正在运行,我怀疑它与缓存选项有关。