în HTML

Ghid complet pentru tagul <datalist>: autocompletare și sugestii native pentru câmpuri de text <input>, fără biblioteci externe de JavaScript.

Sintaxă tag
<input list="orase"><datalist id="orase"><option value="București">...</datalist>

Tagul <datalist> conține un set de elemente <option> care reprezintă opțiuni predefinite și recomandate pentru un câmp de introducere <input>. Spre deosebire de un meniu clasic <select> (care forțează utilizatorul să aleagă doar din variantele existente), <datalist> oferă o experiență hibridă: utilizatorul primește sugestii pe măsură ce tastează, dar poate introduce oricând o valoare complet liberă.

Exemplu: Câmp de căutare cu sugestii de orașe din România
<label for="oras-destinatie">Alege sau tastează orașul de livrare:</label>
<!-- Legătura se face prin atributul list="id-datalist" -->
<input type="text" id="oras-destinatie" name="oras" list="lista-orase" placeholder="Tastează un oraș..." autocomplete="off">

<datalist id="lista-orase">
    <option value="București">Capitala României</option>
    <option value="Cluj-Napoca">Județul Cluj</option>
    <option value="Timișoara">Județul Timiș</option>
    <option value="Iași">Județul Iași</option>
    <option value="Brașov">Județul Brașov</option>
    <option value="Constanța">Județul Constanța</option>
</datalist>

Avantaje Majore față de Plugin-urile JavaScript (Select2 / Autocomplete)

Criteriu Nativ <datalist> Soluții JavaScript externe
Impact pe performanță 0 KB fișiere externe, randare instantanee pe firul principal. 50-150 KB de biblioteci JS și fișiere CSS suplimentare.
Experiență mobilă Se integrează nativ cu tastatura virtuală a sistemului de operare (iOS, Android). Dropdown-uri customizate care adesea suferă de bug-uri de poziționare sau zoom.
Accesibilitate Accesibil automat tastaturii și screen reader-elor. Necesită configurare complexă de atribute ARIA (aria-autocomplete, aria-expanded).