2011-04-24 132 views
0

我試圖讓jQuery UI自動填充小部件工作,但我有一些問題。
首先,我嘗試從數據庫中檢索一些數據,並將它們存儲在隱藏的<p>標記中,格式爲:item1 ; item2; item3;,然後使用jQuery引用此標記並使用.html()(結果爲空)或.text()(結果爲空字符串)。然後,我決定做這一切的本地jQuery的塊中,做了以下內容:jQuery UI自動完成問題

var tags = "house ; children's room ; master bedroom ... etc" 
    alert(tags); //returns them in the right format 
    var availableTags = tags.split(' ;'); 
    alert(availableTags); //returns them in the form" item1, item2, item3 
    alert(availableTags[1]); //returns children's room 
    $(".liTagInput").autocomplete({ 
     minLength: 2, 
     source: availableTags 
    }); 

但仍然沒有得到自動完成工作...爲什麼不工作?我確定我也添加了CSS,所以不應該是這個問題...

理論上,我仍然想從數據庫中檢索數據。在這種情況下,我只想將標籤回顯到html頁面,然後按照開頭所述進行操作。在其他情況下,結果可能太大,我想通過AJAX獲得它們,但那是另一個故事......我需要先讓它工作,然後再擔心更復雜的場景:)

任何幫助,非常感謝!

回答

1

您的演示工作原理編碼這裏:http://jsfiddle.net/aXuHq/

一些其他提示:

  • 你檢查你追加項目,以確保內容是你所期望的隱藏的元素?
  • 您也可以將echo標籤轉換爲JavaScript數組(不確定您使用哪種服務器端技術,因此我將無法提供示例),並將其直接傳遞給自動完成。
  • 在自動完成的情況下使用AJAX並不算太壞,請查看demo
+0

我剛剛弄明白了。問題是因爲自動完成正在DOM上尚未提供的元素上調用。我將上面的代碼添加到'show()'函數的回調函數中,這使得'嚮導頁'出現並解決了問題... :) – Kassem 2011-04-24 13:12:49