⊗jsPrStAuc 11 of 62 menu

Auto-completare în JavaScript

Acum vom implementa auto-completarea. Acest termen se referă la un sugestie care apare la introducerea textului într-un câmp de introducere. Să ne uităm la un exemplu. Mai jos am făcut un câmp de introducere, în care se poate introduce numele unei țări. În același timp, dacă introduceți unele litere, sub câmp va apărea o listă de țări care încep cu șirul introdus.

Dacă doriți, puteți, fără a introduce întregul nume al țării, să faceți clic cu mouse-ul pe orice țară și ea va apărea în câmp. Pentru aceasta, în general, este nevoie de auto-completare. În exemplu, pentru simplitate, am făcut doar trei țări: Belarus, Belgium și Bulgaria. Introduceți în câmpul de mai jos întâi caracterul 'B' englezesc, apoi 'e' și urmăriți ce se va întâmpla:

Discuție

Să discutăm cum să rezolvăm problema. Este nevoie să facem un array cu numele țărilor. Al meu este acesta:

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

La introducerea textului în câmp, la fiecare caracter introdus, este necesar să parcurgem array-ul cu țări și să obținem țările care încep cu șirul introdus. Acest lucru este convenabil de făcut cu metodele filter și startsWith.

Cu filter puteți obține un array de țări care încep cu șirul introdus. Apoi este necesar să parcurgem acest array cu un ciclu și să umplem lista ul cu elemente li cu țări. Și așa trebuie făcut la fiecare caracter introdus, prealabil ștergând din ul elementele li create anterior.

Pentru comoditatea dvs., prezint markup-ul gata făcut:

<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; }

Copiați pentru dvs. codurile HTML și CSS date. Implementați auto-completarea conform algoritmului descris.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge