⊗jsPrStAuc 11 of 62 menu

Autofærdiggørelse i JavaScript

Nu skal vi implementere autofærdiggørelse. Denne term forstås som en drop-down hjælp når der indtastes tekst i et inputfelt. Lad os se på et eksempel. Nedenfor har jeg lavet et inputfelt, hvor man kan indtaste et landenavn. Samtidig, hvis man indtaster nogle bogstaver, vil der under inputfeltet vises en liste over lande, som starter med den indtastede streng.

Efter ønske kan man, for at undgå at indtaste hele landenavnet, klikke med musen på ethvert land og det vil vises i inputfeltet. Dette er, generelt set, hvorfor autofærdiggørelse er nødvendigt. I eksemplet har jeg for enkelheds skyld kun lavet tre lande: Belarus, Belgium og Bulgaria. Indtast i inputfeltet nedenfor først tegnet 'B' (engelsk), og derefter 'e' og se hvad der sker:

Diskussion

Lad os diskutere, hvordan man løser opgaven. Det er nødvendigt at lave et array med landenavne. Mit ser sådan ud:

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

Ved indtastning af tekst i inputfeltet skal der ved hver tegnindtastning gennemgås arrayet med lande og man skal modtage lande, som starter med den indtastede streng. Dette kan bekvemt gøres ved hjælp af metoderne filter og startsWith.

Med filter kan man få et array af lande, der starter med den indtastede streng. Derefter skal man gennemgå dette array med en løkke og udfylde listen ul med li-elementer med landene. Og dette skal gøres for hvert indtastet tegn, efter først at have fjernet de tidligere oprettede li-elementer fra ul-listen.

For din bekvemmelighed tilføjer jeg den færdige markup:

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

Kopier de viste HTML- og CSS-koder til dig selv. Implementer autofærdiggørelse i henhold til den beskrevne algoritme.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis