⊗jsPrStAuc 11 of 62 menu

Autocompletar em JavaScript

Agora vamos implementar o autocompletar. Este termo se refere a uma dica suspensa ao digitar texto em um input. Vamos ver um exemplo. Abaixo, criei um input no qual você pode digitar o nome de um país. Ao mesmo tempo, se algumas letras forem digitadas, uma lista de países que começam com a string digitada aparecerá abaixo do input.

Se desejar, para não ter que digitar o nome completo do país, você pode clicar com o mouse em qualquer país e ele aparecerá no input. É para isso, basicamente, que o autocompletar serve. No exemplo, para simplificar, incluí apenas três países: Belarus, Belgium e Bulgaria. Digite no input abaixo primeiro o caractere 'B' (inglês) e depois 'e' e veja o que acontece:

Discussão

Vamos discutir como resolver a tarefa. É necessário criar um array com os nomes dos países. O meu é assim:

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

Ao digitar texto no input, a cada caractere digitado, é necessário percorrer o array de países e obter os países que começam com a string digitada. Isso é conveniente fazer com os métodos filter e startsWith.

Com filter você pode obter um array de países que começam com a string digitada. Em seguida, é necessário percorrer este array com um loop e preencher a lista ul com os itens de lista (li) dos países. E isso deve ser feito a cada caractere digitado, previamente removendo da lista ul os itens li criados anteriormente.

Para sua conveniência, forneço o código HTML/CSS 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; }

Copie os códigos HTML e CSS fornecidos. Implemente o autocompletar de acordo com o algoritmo descrito.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar