⊗jsPrStAuc 11 of 62 menu

Autokiegészítés JavaScript nyelven

Most egy autokiegészítést fogunk megvalósítani. Ezen a kifejezésen egy legördülő segítség értendő szöveg beírásakor egy input mezőbe. Nézzük meg egy példán. Az alább készítettem egy input mezőt, amibe be lehet írni egy ország nevét. Eközben, ha beírsz néhány betűt, akkor az input mező alatt megjelenik egy lista azokról az országokról, amelyek a beírt sorozattal kezdődnek.

Ha szeretnéd, hogy ne kelljen teljesen beírni az ország nevét, kattints az egérrel bármely országra és az megjelenik az input mezőben. Egyébként erre való az autokiegészítés. A példában az egyszerűség kedvéért csak három országot vettem fel: Belarus, Belgium és Bulgaria. Írd be az alábbi input mezőbe először a 'B' angol betűt, majd 'e' betűt és figyeld meg, mi történik:

Megvitatás

Beszéljük meg, hogyan oldjuk meg a feladatot. Készíteni kell egy tömböt az országok neveivel. Nálam ez ilyen:

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

Szöveg beírásakor az input mezőbe minden egyes karakter beírásakor végig kell iterálni az országok tömbjén és meg kell kapni azokat az országokat, amelyek a beírt sorozattal kezdődnek. Ezt kényelmesen meg lehet tenni a filter és a startsWith metódusokkal.

A filter segítségével megkaphatjuk azon országok tömbjét, amelyek a beírt sorozattal kezdődnek. Ezután végig kell iterálni ezen a tömbön egy ciklussal és ki kell tölteni a ul listát az országokkal ellátott listaelemekkel. És ezt minden egyes beírt karakter alkalmával meg kell tenni, előzetesen eltávolítva az ul-ból a korábban létrehozott listaelemeket.

A te kényelmedért közlöm a kész HTML és CSS kódot:

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

Másold le a megadott HTML és CSS kódokat. Valósítsd meg az autokiegészítést a leírt algoritmus szerint.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás