Ich habe die jquery-ui verwendet, um ein Eingabefeld automatisch zu vervollständigen und einen versteckten Wert für das ausgewählte Element festzulegen.
Das habe ich mit
gemacht %Vor%Option (könnte jetzt falsch sein, habe den Code nicht zur Hand, aber es funktioniert bis meine Frage ...)
Es funktioniert, wenn ein Element aus dem Menü mit der Maus ausgewählt wird. Wenn ich jedoch nur einen Text eingeben und ein Element mit der Eingabetaste auswählen möchte, tut es nichts, als ob die Auswahl durch die automatische Vervollständigung überhaupt nicht ausgeführt wird Funktion. Wenn Sie das Kontrollkästchen jedoch nicht berühren, wird die Auswahl ausgelöst.
Ich habe einen Fokus verwendet und geändert: um auch die Felder zu aktualisieren, die ich will, aber ich denke, das ist Overkill, sollte es wirklich notwendig sein, alle Fokus, ändern und auswählen, nur um sicher zu sein, dass ein Benutzer jedoch auswählt ein Element aus der Liste wird tatsächlich ausgewählt.
Danke.
rofly: Ich benutze die jquery-ui-Autocomplete, es hat den Code, den Sie geben, aber es sieht so aus (aus der jquery.ui.autocomplete.js)
%Vor%Das sieht alles gut aus, also bin ich mir nicht sicher, ob es deswegen scheitert.
Mein Code ist wie folgt (eingepackt in document.read ()
) %Vor%Also, das Problem ist, das funktioniert, wenn der Benutzer aus dem Menü mit der Maus UND beim Tab-out aus dem Feld (keyUp, keyDown zu wählen, dann Tab-out, funktioniert), aber keyUp, keyDown, um es auszuwählen, dann eingeben, und nichts passiert!
Eine ähnliche Instanz funktioniert für mich mit jQuery 1.4.2 und jQuery-ui 1.8.7. Ein Vorbehalt scheint nur dann zu funktionieren, wenn ein Element aus der Liste ausgewählt wird. Wenn Sie einen neuen Eintrag erstellen, der nicht existiert, drücken Sie die Eingabetaste nicht, um Ereignisse auszuwählen oder zu ändern. Ich musste einen separaten Event-Handler binden, um diese Situation zum Fliegen zu bringen.
Tags und Links jquery jquery-ui autocomplete jquery-ui-autocomplete