de.hideout-lastation.com
Paradies Für Designer Und Entwickler


So erstellen Sie einen Datalist, der sofort durchsucht werden kann

Dropdown-Listen bieten eine gute Möglichkeit , Optionen für ein Eingabefeld bereitzustellen, insbesondere wenn die Liste der verfügbaren Optionen lang ist. Ein Benutzer kann die gewünschte Option auswählen, indem er in das Feld eintippt, oder die Optionen durchsehen, die möglicherweise mit dem übereinstimmen, wonach sie suchen. Die Möglichkeit, die Optionen zu durchsuchen, ist jedoch die ideale Lösung.

Dieses Verhalten kann mit dem erreicht werden HTML-Element, das Eingabevorschläge für verschiedene Steuerelemente anzeigt, z Etikett. jedoch zeigt nur die verfügbaren Optionen an, wenn der Benutzer bereits etwas in das Eingabefeld eingegeben hat.

Wir können ein Eingabefeld brauchbarer machen, wenn wir Benutzern während des Eingabeaufnahmeprozesses jederzeit den Zugriff auf die vollständige Liste der Optionen ermöglichen.

In diesem Beitrag erfahren Sie, wie Sie eine Drop-down-Liste erstellen , die Sie jederzeit mit der Suchfunktion durchsuchen können Das Tag ist identisch mit der id des Tag - so binden wir sie aneinander.

2. Machen Sie den Datalist sichtbar

Standardmäßig ist der HTML-Element ist ausgeblendet . Wir können es nur sehen, wenn wir eine Eingabe in das Feld eingeben, mit dem der Datengeber verbunden ist.

Es gibt jedoch eine Möglichkeit, den Inhalt des Datenträgers (dh alle Optionen) auf der Webseite zu "erzwingen". Wir müssen ihm nur einen anderen Wert für die display:block; geben, als none, z. B. display:block; .

 Datalist {Anzeige: Block; } 

Die angezeigten Optionen sind zu diesem Zeitpunkt noch nicht auswählbar, der Browser gibt nur die Optionen wieder, die er im Datenlisten findet.

Wie bereits erwähnt, aufgrund des eingebauten Verhaltens der Element, ein Teil der Optionen wird bereits angezeigt und kann ausgewählt werden, jedoch nur, wenn der Benutzer beginnt, einen String einzugeben, zu dem der Browser eine passende Option finden kann .

Wir müssen auch einen Mechanismus finden, um alle Optionen (auf dem oben gezeigten Screenshot, die unter dem Dropdown-Datalist angezeigt werden) an jedem anderen Punkt des Eingabevorgangs auswählbar zu machen - wenn Benutzer die Optionen auschecken möchten, bevor sie etwas eingeben, oder während sie Habe schon etwas in das Eingabefeld übernommen.

3. Bringen Sie die HTML-Element

Wir wählen die zweite Methode, da sie einfacher ist, und sie können als Ersatzmechanismus in Browsern verwendet werden, die diese nicht unterstützen Element. Wenn ein Browser den Datalist nicht rendern und anzeigen kann, rendert er den HTML-Tag, der Code sieht wie folgt aus:

Um alle Optionen von select in der Dropdown-Liste anzuzeigen, müssen wir die Attribute multiple, um mehr als eine Option anzuzeigen, und die size für die Anzahl der Optionen, die wir anzeigen möchten.

 Wenn der Benutzer eine Option aus der Dropdown-Liste auswählt, wird sein Wert innerhalb des Tags angezeigt  Feld auch.

 / * Wenn der Benutzer eine Option aus DDL auswählt, schreibe sie in das Textfeld * / select.addEventListener ('change', fill_input); Funktion fill_input () {input.value = Optionen [this.selectedIndex] .value; ausblenden_select (); } 
Nachteile

Der Hauptnachteil dieser Technik ist das Fehlen eines direkten Stils Element mit CSS (das Aussehen der und