2012-04-06 80 views
0

我有這個腳本,它以下列格式返回查詢結果。 例如,對於一個查詢「FB」的結果如下顯示自動完成結果的問題jquery

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

我米使用以下jQuery代碼

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

它不顯示我的結果。 請你糾正我,我哪裏錯了!

+1

首先, JSON是錯誤的(額外的逗號)。 jQuery自動完成小部件將失敗。另外,你能解釋一下這兩個空的[]是什麼意思嗎? – 2012-04-06 11:03:24

回答

0

http://jsfiddle.net/zFdWZ/

看來:你的迴應數據實際上等於[ 「FB」。

爲什麼?

http://jqueryui.com/demos/autocomplete/退房的預期的數據格式

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

An Array of Strings: 
[ "Choice1", "Choice2" ] 
An Array of Objects with label and value properties: 
[ { label: "Choice1", value: "value1" }, ... ] 
+0

您是否認爲它與數組中最後一個元素的末尾出現的逗號有關[「fb」,[「fb」,「fbi」,「fbi most wanted」,「fbi jobs」,「fb橫幅「,」fbook「,」fb覆蓋「,」fbanners「,」fbisd「,」fbop「,],[],[]]; – 2012-04-06 10:41:05

+0

你可以自己嘗試:http://jsfiddle.net/yXFBL/ && http://jsfiddle.net/8LzTk/ – rhapsodyn 2012-04-06 10:48:24

+0

正如你所看到的,我與逗號無關,相反,自動完成忽略了最後一個逗號〜 – rhapsodyn 2012-04-06 10:49:46