⊗jsPrStAuc 11 of 62 menu

Autocompletamento in JavaScript

Ora implementeremo l'autocompletamento. Con questo termine si intende un suggerimento a discesa durante la digitazione di testo in un input. Diamo un'occhiata ad un esempio. Qui sotto ho creato un input in cui è possibile inserire il nome di un paese. In questo caso, se si inseriscono alcune lettere, sotto l'input apparirà un elenco di paesi che iniziano con la stringa inserita.

Se lo si desidera, per non dover digitare per intero il nome del paese, è possibile cliccare con il mouse su qualsiasi paese e questo apparirà nell'input. Questo, in generale, è lo scopo dell'autocompletamento. Nell'esempio, per semplicità, ho inserito solo tre paesi: Belarus, Belgium e Bulgaria. Inserite nell'input qui sotto prima il carattere 'B' inglese, e poi 'e' e guardate cosa succede:

Discussione

Discutiamo come risolvere il problema. È necessario creare un array con i nomi dei paesi. Il mio è questo:

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

Durante la digitazione del testo nell'input, ad ogni carattere inserito, è necessario scorrere l'array dei paesi e ottenere i paesi che iniziano con la stringa inserita. Questo è comodo da fare utilizzando i metodi filter e startsWith.

Con filter è possibile ottenere un array di paesi che iniziano con la stringa inserita. Successivamente è necessario scorrere questo array con un ciclo e riempire l'elenco ul con elementi li dei paesi. E questo deve essere fatto per ogni carattere inserito, preventivamente rimuovendo dall'ul gli li creati in precedenza.

Per vostra comodità, fornisco il markup pronto:

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

Copiate i codici HTML e CSS forniti. Implementate l'autocompletamento secondo l'algoritmo descritto.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta