2009-05-05 3 views
12

Ich habe ein Autocomplete-Feld und frage mich nur, wie kann ich es für mehrere Wörter verwenden? Wenn ich das erste Wort tippe, funktioniert es perfekt, aber , wenn ich platze und das zweite Wort eintippe, sendet es die zwei Wörter zurück zum Bediener und natürlich sind die Resultate falsch!Wie verwende ich JQuery Autocomplete für mehrere Wörter

z. wenn ich die beiden Wörter eingeben,

‚Java Javascript‘

das erste Wort ‚Java‘, die automatische Vervollständigung gut funktioniert, ziehen Sie die Liste.

aber wenn ich Leerzeichen und Typ Javascript, Autocomplete sendet 'Java + Javascript' zu meiner Ajax-Funktion.

Irgendwelche Ideen, wie das zu beheben?

Antwort

10

Sieht aus wie Sie nicht können, unterstützt die eingebaute Implementierung es nicht - Sie können in dem Link oben sehen: "ist nicht Teil der stabilen Veröffentlichung oder Verteilung".

Allerdings habe ich heruntergeladen und verwenden Sie die externe Version, verfügbar here:

http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

es ist ein wenig größer, aber die Nutzung ist genau das gleiche, Sie müssen nichts ändern, fügen Sie für Mehrfachauswahl, um die Optionen {mehrere: true}

aktualisieren

jQueryUI jetzt die neuesten versi wurde aktualisiert ons, die diese Antwort überflüssig machen. Ein uptodate Beispiel kann

http://jqueryui.com/demos/autocomplete/#multiple

+0

Der Support wurde eingestellt, hier ist der Migrationsleitfaden zur Verwendung der neuen jQuery-Autocomplete http: //www.learningjquery.com/2010/06/autocomplete-migration-guide – bizl

+0

Diese Antwort ist nun falsch - bitte löschen. Sams Antwort zeigt die richtige Lösung. –

7
$("#tagnames").autocomplete("/tags/filter", { 
     max: 6, 
     highlightItem: true, 
     multiple: true, 
     multipleSeparator: " ", 
    }) 

hier zu finden, um Auto-Vervollständigen für mehrere Wörter können Sie Optionen Mehrfachaufspannungen sollten: true und multipleSeparator: ""

+0

Ich kann die Optionen "multiple" und "multipleSeparator" in der Dokumentation nicht finden: http://docs.jquery.com/UI/Autocomplete Können Sie das genauer ausführen? – Luke

+0

Er erwähnte das Plugin hier http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/, nicht das jqueryui –

0

einen Kommentar für eine vollständigere Antwort Hinzufügen, sagen wir, Sie mit einem gemeinsamen Präfix zwei Auswahlmöglichkeiten haben:

ip5, ip5 Batterie

wenn der Benutzer in der Textbox ip5, die erste Auswahl oben wird automatisch ausgewählt, ohne dass der Benutzer für die zweite Auswahl weiter tippen muss. Um dieses Verhalten zu vermeiden, verwenden Sie die Option

triggerSelectOnValidInput: true,