Ich habe eine Anforderung, bei der ich das Bootstrap-Dropdown-Menü für die automatische Vervollständigung verwenden muss. Der Benutzer kann jedoch Freiformtext in diesem Dropdown-Menü haben, wenn er dies wünscht. Bevor Sie über TypeAhead nachdenken, könnte ich das Textfeld Bootstrap TypeAhead verwenden, aber ich brauche das Dropdown-Menü, da wir einige Standardwerte als Headstart-Optionen angeben möchten, falls Benutzer nicht wissen, wonach sie suchen sollen.
Ich verwende dies mit MVC DropDownListFor, da dies ein ausgewähltes Steuerelement für uns erstellt.
Ich habe diesen Artikel gefunden, der das für mich erledigt.
https://github.com/danielfarrell/bootstrap-combobox/pull/20
Alles, was ich tun musste, war, den Namen vom Auswahlsteuerelement zu entfernen, und das Steuerelement ließ mich Freiformtext eingeben. Alles gut soweit.
Jetzt benutze ich dies in Verbindung mit Knockoutjs. Ich binde meine Optionen und den ausgewählten Wert an das Auswahlsteuerelement und rufe dann in der Zeile meiner Vorlage (Selektor) .combobox () auf, wodurch das Auswahlsteuerelement zu einer Bootstrap-Comobobox wird, ein Eingabesteuerelement hinzugefügt und das Auswahlsteuerelement in den Szenen ausgeblendet wird hinter.
Das Problem ist jetzt, wenn ich versuche, die Werte zum Posten auf dem Server zu bringen, da der Wert, den ich in das Eingabefeld eingegeben habe, keine gültigen Optionen aus den Optionen ist, die ich zur Auswahl des Steuerelements angegeben habe, sondern standardmäßig immer auf die erste Option gesetzt wird. Dies liegt daran, dass ich die Bindung des ausgewählten Werts im Auswahlsteuerelement und nicht im Eingabefeld festgelegt habe, das von bootstrap-combobox.js erstellt wurde.
Meine Frage ist, wie ich das Eingabefeld dazu bringe, Daten an dieselbe Eigenschaft zu binden, an die das Auswahlsteuerelement gebunden war.
Irgendwelche anderen Optionen? Lassen Sie mich wissen, wenn Sie weitere Erläuterungen benötigen oder Fragen haben. Bitte vorschlagen.
Vielen Dank.
quelle
Antworten:
Schauen Sie sich Select2 für Bootstrap an . Es sollte in der Lage sein, alles zu tun, was Sie brauchen.
Eine weitere gute Option ist Selectize.js . Es fühlt sich für Bootstrap etwas nativer an.
quelle
Funktioniert die grundlegende HTML5-Datenliste? Es ist sauber und Sie müssen nicht mit dem unordentlichen Code von Drittanbietern herumspielen. W3SCHOOL Tutorial
Die MDN-Dokumentation ist sehr beredt und enthält Beispiele.
quelle
datalist
ist, dass es keine DOM-Ereignisse unterstützt. Jedes Mal, wenn Sie einen Wert auswählen, müssen Sie das entsprechende Textfeld verlassenSelect2 für das native Bootstrap 3-Plugin
https://fk.github.io/select2-bootstrap-css/index.html
Dieses Plugin verwendet das Select2 JQuery Plugin
Nuget
PM> Install-Package Select2-Bootstrap
quelle
Die Fuel UX Combobox bietet alle Funktionen, die Sie erwarten würden.
quelle
Kann ich http://www.jqueryscript.net/form/Twitter-Like-Mentions-Auto-Suggesting-Plugin-with-jQuery-Bootstrap-Suggest.html vorschlagen ? , funktioniert eher wie der Twitter-Post-Vorschlag, wo es Ihnen eine Liste gibt von Benutzern oder Themen basierend auf @ oder # Tags,
Demo hier ansehen: http://www.jqueryscript.net/demo/Twitter-Like-Mentions-Auto-Suggesting-Plugin-with-jQuery-Bootstrap-Suggest/
In diesem Fall können Sie das @ und # ganz einfach nach Belieben ändern
quelle
Bootstrap Tokenfield scheint auch gut zu sein: http://sliptree.github.io/bootstrap-tokenfield/
quelle