HTML `<datalist>` Element: Implementing Autocomplete for Input Fields
Learn how to enhance user input with the HTML `<datalist>` element, providing autocomplete functionality for `<input type="text">` fields. This tutorial explains its usage, demonstrates how to connect it to input fields, and highlights its benefits for improving user experience and data entry efficiency.
Understanding the HTML <datalist> Element
What is the <datalist> Element?
The HTML <datalist> element provides a list of pre-defined options for an input element, typically an <input type="text">. It acts as an autocomplete feature, helping users quickly select from a predefined set of values. The datalist isn't displayed directly; instead, it's used by the browser to suggest options as the user types into the associated input field.
Example:
HTML
<input type="text" list="browsers">
<datalist id="browsers">
<option value="Chrome">
<option value="Firefox">
<option value="Safari">
</datalist>
The list attribute in the <input> element must match the id attribute of the <datalist> element to connect them.
Browser Support
Support for the <datalist> element is good in modern browsers. Here's a summary of the first version of each browser to fully support it:
| Browser | Version |
|---|---|
| Chrome | 20.0 |
| Firefox | 10.0 |
| Internet Explorer | 10 |
| Safari | 6.0 |
| Edge | 12.1 |
| Opera | 12.1 |
<datalist> Attributes
The <datalist> element supports standard global and event attributes.
Default CSS Styling
By default, the <datalist> element is not visible. It's only used by the browser to provide suggestions.
CSS (Default)
datalist {
display: none;
}