2009-11-07 44 views
0

我目前使用的是this autocomplete plugin。这非常简单。它接受一个URL,然后使用该数据执行自动完成。使用JQuery自动完成结果格式化

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

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

如果有人类型的“苹果”,即autocompleteurl页面会返回这个结果:

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

然而,由于某些原因,当我真正使用这个自动完成,一切都junked在一起。该插件将整个页面视为一个大字符串,而不是将逗号分隔并将其视为单个项目。

有人可以告诉我我需要把它们作为单个项目来对待他们吗?我尝试了很多选择,但都没有成功。

回答

2

从 “富” 将导致此 请求URL的手册(http://docs.jquery.com/Plugins/Autocomplete/autocomplete#url_or_dataoptions

甲值: my_autocomplete_backend.php Q = FOO &限制= 10

结果必须返回每行有一个值为 。结果以后台发送它的顺序呈现为 。

从你发布的东西看来,你好像有逗号分隔。

+0

那么,我必须将它分开
? – TIMEX 2009-11-07 02:08:43

+0

不只是一个普通的换行符 – Tjofras 2009-11-07 02:10:02

+0

echo“\ n”;个人条目之间 – namespaceform 2009-12-05 14:44:48

0

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

,只要您正确的格式返回数据这应该是足够长:

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

谢谢乔希。但是,出于某种原因,每次我在文本框中输入一个字母时,都会调用该自动填充页面,但只有一个字母!?代替“a”,然后“ab”然后“abc”,它会分别调用每个字母。 ?q = a&limit = 10&timestamp = 1257633995436?q = c&limit = 10&timestamp = 1257633995436?q = c&limit = 10&timestamp = 1257633995436 – TIMEX 2009-11-07 22:49:06