2009-11-07 81 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