⊗jsPrStAuc 11 of 62 menu

Autokomplettering i JavaScript

Nu ska vi implementera autokomplettering. Denna term avser en rullande hjälptext när text skrivs in i ett inputfält. Låt oss titta på ett exempel. Nedan har jag skapat ett inputfält där man kan skriva in ett landsnamn. Om man skriver in några bokstäver kommer en lista över länder som börjar på den inmatade strängen att visas under inputfältet.

Om man vill, för att slippa skriva landsnamnet i sin helhet, kan man klicka med musen på vilket land som helst och det kommer att dyka upp i inputfältet. Det är i allmänhet det autokomplettering används för. I exemplet har jag för enkelhetens skull bara använt tre länder: Belarus, Belgium och Bulgaria. Skriv in i inputfältet nedan först tecknet 'B' (engelska), och sedan 'e' och se vad som händer:

Diskussion

Låt oss diskutera hur uppgiften ska lösas. Man behöver skapa en array med landsnamn. Min ser ut så här:

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

När text skrivs in i inputfältet behöver man för varje inmatat tecken gå igenom arrayen med länder och få ut de länder som börjar på den inmatade strängen. Detta är lämpligt att göra med metoderna filter och startsWith.

Med filter kan man få en array med länder som börjar på den inmatade strängen. Därefter behöver man gå igenom denna array med en loop och fylla listan ul med li-element med länderna. Och detta behöver göras för varje inmatat tecken, efter att man först tagit bort de tidigare skapade li-elementen från ul-listan.

För din bekvämlighet återger jag den färdiga HTML-strukturen:

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

Kopiera de angivna HTML- och CSS-koderna till dig. Implementera autokomplettering enligt den beskrivna algoritmen.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa