2012-04-06 14 views
0

Ich habe dieses Skript, das mir die Ergebnisse für eine Abfrage im folgenden Format zurückgibt. Zum Beispiel für eine Abfrage "fb" sind die Ergebnisse alsProblem mit Autocomplete-Ergebnissen Jquery

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

folgt I m ​​die folgenden jQuery-Code

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

mit es mir die Ergebnisse zeigen tut. Kannst du mich bitte korrigieren, wo liege ich falsch?

+1

Zu allererst der JSON ist falsch (zusätzliches Komma). Das jQuery-Autocomplete-Widget schlägt fehl. Kannst du auch erklären, wofür die beiden leeren [] sind? –

Antwort

0

http://jsfiddle.net/zFdWZ/

Es scheint, dass: Ihre Antwortdaten entspricht tatsächlich [ "fb"].

Warum?

http://jqueryui.com/demos/autocomplete/ Check-out das Erwartete Datenformat:

Die Daten aus lokalen Daten, eine URL oder ein Rückruf können in zwei Varianten kommen:

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

Glaubst du, es hat mit dem Komma zu tun, das am Ende des letzten Elements im Array erscheint ["fb", ["fb", "fbi", "fbi am meisten gesucht", "fbi jobs", "fb Banner "," fbook "," fb cover "," fbanners "," fbisd "," fbop ",], [], []]; –

+0

können Sie es selbst ausprobieren: http://jsfiddle.net/yXFBL/ && http://jsfiddle.net/8LzTk/ – rhapsodyn

+0

wie Sie sehen können, ich habe nichts mit dem Komma zu tun, im Gegenteil, Autovervollständigung ignoriert die Letztes Komma ~ – rhapsodyn