⊗jsPrStAuc 11 of 62 menu

JavaScript 자동 완성

지금 우리는 자동 완성을 구현할 것입니다. 이 용어는 입력란에 텍스트를 입력할 때 나타나는 드롭다운 힌트를 의미합니다. 예제를 통해 살펴봅시다. 아래에 국가 이름을 입력할 수 있는 입력란을 만들었습니다. 이때, 어떤 글자를 입력하면 입력한 문자열로 시작하는 국가 목록이 입력란 아래에 나타납니다.

원한다면, 국가 이름 전체를 입력하지 않고 마우스로 어떤 국가를 클릭하면 해당 국가가 입력란에 나타나게 할 수 있습니다. 일반적으로 자동 완성이 필요한 이유가 바로 이것입니다. 예제를 간단히 하기 위해 세 개의 국가만 만들었습니다: Belarus, Belgium 그리고 Bulgaria. 아래 제공된 입력란에 먼저 영어 'B'를 입력하고, 그 다음 'e'를 입력하고 어떤 일이 발생하는지 보세요:

논의

문제를 어떻게 해결할지 논의해 봅시다. 국가 이름이 담긴 배열을 만들어야 합니다. 제 배열은 다음과 같습니다:

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

입력란에 텍스트를 입력할 때, 각 문자를 입력할 때마다 국가 배열을 검색하고 입력된 문자열로 시작하는 국가를 얻어야 합니다. 이는 filterstartsWith 메서드를 사용하면 편리합니다.

filter를 사용하여 입력된 문자열로 시작하는 국가 배열을 얻을 수 있습니다. 그런 다음 이 배열을 루프로 순회하고 국가가 담긴 리스트 아이템으로 ul 목록을 채워야 합니다. 그리고 이전에 생성된 리스트 아이템을 먼저 제거한 후 모든 문자 입력에 대해 이 작업을 수행해야 합니다.

여러분의 편의를 위해 완성된 마크업을 제공합니다:

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

위의 HTML과 CSS 코드를 복사하세요. 설명된 알고리즘에 따라 자동 완성을 구현하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부