2012-04-06 37 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