⊗jsPrStAuc 11 of 62 menu

Autovervollständigung in JavaScript

Jetzt werden wir eine Autovervollständigung implementieren. Unter diesem Begriff versteht man einen Dropdown-Hinweis bei der Texteingabe in ein Input-Feld. Schauen wir uns ein Beispiel an. Unten habe ich ein Input-Feld erstellt, in das man einen Ländernamen eingeben kann. Wenn man einige Buchstaben eingibt, erscheint unter dem Input-Feld eine Liste von Ländern, die mit der eingegebenen Zeichenkette beginnen.

Bei Bedarf kann man, um den Namen des Landes nicht vollständig eingeben zu müssen, mit der Maus auf ein beliebiges Land klicken und es erscheint im Input-Feld. Dafür ist die Autovervollständigung im Allgemeinen gedacht. Im Beispiel habe ich der Einfachheit halber nur drei Länder gemacht: Belarus, Belgium und Bulgaria. Geben Sie in das untenstehende Input-Feld zuerst das englische Zeichen 'B' und dann 'e' ein und schauen Sie, was passiert:

Diskussion

Lassen Sie uns diskutieren, wie man die Aufgabe löst. Man muss ein Array mit den Namen der Länder erstellen. Meins sieht so aus:

let arr = ['Belarus', 'Belgium', 'Bulgaria'];

Bei der Texteingabe in das Input-Feld muss bei der Eingabe jedes Zeichens das Array mit den Ländern durchsucht werden und es müssen Länder erhalten werden, die mit der eingegebenen Zeichenkette beginnen. Das ist bequem mit den Methoden filter und startsWith möglich.

Mit filter kann man ein Array von Ländern erhalten, die mit der eingegebenen Zeichenkette beginnen. Dann muss man dieses Array mit einer Schleife durchlaufen und die Liste ul mit Listenelementen (li) mit den Ländern füllen. Und das muss bei jeder Eingabe eines Zeichens gemacht werden, wobei zuvor die zuvor erstellten Listenelemente aus der ul-Liste gelöscht werden müssen.

Zu Ihrer Bequemlichkeit führe ich das fertige Markup an:

<div id="parent"> <input id="elem"> <ul id="list"></ul> </div> text text text text text #parent { position: relative; } #elem { padding: 5px; font-size: 18px; } #parent ul { position: absolute; margin: 0; padding: 0; list-style-type: none; background-color: white; } #parent li { border: 1px solid gray; font-size: 18px; padding: 5px; } #parent li:hover { border: 1px solid black; cursor: pointer; }

Kopieren Sie sich die angegebenen HTML- und CSS-Codes. Implementieren Sie die Autovervollständigung gemäß dem beschriebenen Algorithmus.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen