2012-04-06 53 views
1

我試圖顯示自動完成結果。遍歷數據以顯示自動完成結果

這裏是我的腳本,當我使用GET請求

例如,當我查詢它「FB」

它返回我下面的數據

"fb" 
"fbi" 
"fbi most wanted" 
"fbi jobs" 
"fb banners" 
"fbook" 
"fb covers" 
"fbanners" 
"fbisd" 
"fbop" 

查詢返回的數據這裏是代碼爲自動完成插件

 $("#query").autocomplete({ 
     source: function(request, response) { 
      $.ajax({ 
       url: "q.php", 
       dataType: "json", 
       data: { 
        "q" : request.term 
       }, 
       success: function(data) { 
       response(data[1]) 
       } 
      }); 
     }, 
     minLength: 2 
    }); 

它不顯示m e任何結果。誰能告訴我我哪裏錯了!

回答

0
$("#query").autocomplete({ 
     source: "q.php", 
     minLength: 2 
    }).data("autocomplete")._renderItem = function (ul, item) { 
      return $("<li></li>") 
      .append("<a>" + item+ "</a>") 
      .appendTo(ul); 
     }; 
0

如果您使用jQuery Autocomplete插件,爲什麼您會過度複雜並自行渲染它?

只要定義源腳本,並提供了一個很好格式化的JSON響應,自動完成模塊需要它:

預期的數據格式

從本地數據的數據,URL或回調可以進來兩種變體:

字符串Array: [ 「選擇1」, 「選擇2」]

與標籤和值的屬性的對象Array: [{標籤: 「選擇1」,值: 「VALUE1」},...]

source: "query.php"; 

讓插件做休息。

閱讀API:jQuery Autocomplete plugin overview

如果你想要做別的什麼,只是註冊和捕捉事件。