我目前正在使用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
然而,出于某种原因,当我实际使用这个自动完成时,一切都被废弃在一起。该插件将整个页面视为一个大字符串,而不是将逗号分隔并将它们视为单个项目。
有人可以告诉我我需要选择哪些选项才能将它们视为个别物品?我尝试了很多选项但没有工作。
答案 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”时会有一些有趣的行为 - 它确实没有,给予印象它不能正常工作!<登记/>
但它正在运行,我怀疑它与缓存选项有关。