jQuery Autocomplete "Antwort" -Ereignis

8

Ich verwende jQuery UI Autocomplete wie beschrieben [http://api.jqueryui.com/autocomplete/]

Ich muss ein paar Dinge tun, bevor und nachdem die Suche ausgeführt wurde. Aus dem Lesen der Dokumentation unter der obigen URL werden zwei Methoden "Suche" und "Antwort" beschrieben, die vor und nach dem Ausführen der Abfrage ausgelöst werden - perfekt. ABER, wenn ich diese zu meinem Code hinzufüge, funktioniert "Suche" perfekt, aber "Antwort" wird nie aufgerufen. Was mache ich falsch? All mein Code funktioniert, keine Javascript-Fehler, Autocomplete funktioniert einwandfrei. Aber ich habe einfach nicht die "Antwort" -Methode ausgelöst.

%Vor%

Vielen Dank für einen Rat!

    
user1729898 08.10.2012, 20:15
quelle

2 Antworten

9

Diese Callback-Methode ist mit der neuen jquery-ui angekommen. Ich konnte das nicht zum Laufen bringen, aber nachdem ich von 1.8.20 auf 1.9.2 aktualisiert habe, wird der Callback genau so ausgelöst, wie er sollte.

Ich hoffe, es hilft!

    
Johan Nordin 26.11.2012 10:28
quelle
2

Wenn Sie davon ausgehen, dass Ihr gesamter Code korrekt ist, müssen Sie möglicherweise Ihre Version von jQuery UI (und die entsprechende jQuery-Version) aktualisieren. Der Grund dafür ist, dass in der Dokumentation, die Sie sich angesehen haben, die Autocomplete-Widget-Version hinzugefügt wurde: 1.8, das Antwort-Ereignis wurde jedoch erst 1.9 hinzugefügt (siehe jQuery 1.9 Upgrade-Anleitung: Response-Ereignis ) Dies bedeutet auch, dass Sie nicht in der Lage sind, einen Event-Listener an das Autocomplete-Response-Ereignis zu binden, wie der Guide angibt.

Sobald Sie auf eine jQuery- und jQuery-UI-Version aktualisiert haben, die das Autocomplete-Response-Ereignis unterstützt, funktioniert dieser Code wie erwartet.

Beachten Sie als Hinweis für Neulinge, dass Sie beim Ändern der Daten sowohl die Wert- als auch die Beschriftungseigenschaften für jedes Element angeben müssen, das Sie hinzufügen möchten, auch wenn Ihre Quelldaten nur ein Array sind von Werten. Dies liegt daran, dass der Inhalt, sobald er in dieses Ereignis gelangt ist, bereits "normalisiert" wurde (dh die Beschriftung wurde mit einem Wert versehen).

Wenn Sie also "Sonstige" zu den zurückgegebenen Ergebnissen hinzufügen möchten, sieht Ihr Antwort-Event so aus:

%Vor%

Dies wird eine "Andere" Option zu jeder Liste hinzufügen, die einen Eingabewert von "Option" haben wird.

    
Rick Hanlon II 13.03.2013 16:14
quelle