jQuery UI Autocomplete: erzwinge die Auswahl aus der Liste ohne Änderungen

8

Ich verwende die benutzerdefinierte Bindung in Autocomplete-Combobox mit Knockout JS-Vorlage / JQuery

Ich muss erzwingen, dass der Benutzer einen Wert in der Autocomplete-Liste auswählen muss und nachdem er den Wert ausgewählt hat, um der Auswahl keinen zusätzlichen Text hinzufügen zu können. Ich habe gesucht, aber ich kann kein Beispiel dafür finden, wie verhindert werden kann, dass zusätzlicher Text eingegeben wird. Sie muss editierbar bleiben, wenn sie das falsche Dropdown ausgewählt haben, aber was sie tippen, muss mit einem Wert aus der Liste übereinstimmen.

Ich fand dieses Posting auf jquery, aber es ist 9 Monate alt und niemand hat eine Antwort gepostet.

    
segFault 04.05.2013, 23:22
quelle

2 Antworten

13

Es gibt keine eingebaute Funktion, um das zu tun, was Sie wollen.

Ich habe ein einfaches Projekt erstellt, bei dem das Autocomplete-Ereignis change verwendet wird, bei dem Sie den Wert aus dem auswählen müssen Autovervollständigen, wenn nicht der Wert gelöscht wird.

Ändern Sie das Ereignis

  

Wird ausgelöst, wenn das Feld unscharf ist, wenn sich der Wert geändert hat.

Nach der Auswahl wurde das Feld deaktiviert und Sie können es zum Beispiel mit einem aktivierenden Anker aktivieren.

Code:

%Vor%

Hier ist eine Geige: Ссылка

    
Irvin Dominin 05.05.2013, 10:40
quelle
0

Dies ist ein älterer Beitrag, aber ich denke, dass er aus Sicht von UX wegen des Fokusproblems leicht unvollständig ist (er ändert sich nicht, bis der Fokus aus der Eingabe entfernt wird, in diesem Fall '#artist', ziemlich ärgerlich), also würde ich hinzufügen:

%Vor%

so (nehmen wir an, es ist eine Schaltfläche, die wir versuchen zu aktivieren), dass der Benutzer das aktivierte Objekt unmittelbar nach der Auswahl sieht.

    
crunch 02.11.2016 12:44
quelle