What is HTML <datalist> tag ?
HTML <datalist> tag defines a list of dropdown pre-defined options for an <input> tag.
HTML <datalist> tag is an HTML5 element that defines a list of pre-defined values for an <input> tag
These pre-defined values will appear in the input control as a dropdown list.
HTML <datalist> tag is found within the <body> tag, usually found within the <form> tag.
Why HTML <datalist> tag used ?
HTML <datalist> tag is used to provide an auto complete feature on form element.
This shows a list of predefined options to the users to select data.
How HTML <datalist> tag works ?
HTML <datalist> tag should be used with an <input> element that contains a “list” attribute.
The value of “list” attribute is linked or binded with the datalist “id”.
HTML <datalist> tag is used to provide the quick choices for an input field like an “autocomplete” feature.
Pre-defined values values will appear in the input control as a dropdown list and the available options will be filtered as the user enters data into the input control.
This saves the time of a user but also reduces errors also avoids spelling mistake.
HTML beginners tutorial !!!
Click to Learn More about – HTML Tutorial for beginners
Syntax :
<input list="somenames"/>
<datalist id="somenames">
<option value="somevalue"/>
<option value="somevalue"/>
</datalist>
Example :
<!DOCTYPE html>
<html>
<head>
<title>HTML datalist tag</title>
</head>
<body>
<label>Select your Favorite Freedom Fighters in India </label>
<input list="names"/>
<datalist id="names">
<option value="Mohandas Karamchand Gandhi"/>
<option value="Jawaharlal Nehru"/>
<option value="Bhagat Singh"/>
<option value="Rajendra Prasad"/>
<option value="Lal Bahadur Shastri"/>
<option value="Chandrashekhar Azad"/>
<option value="Sardar Vallabhbhai Patel"/>
<option value="Bal Gangadhar Tilak"/>
<option value="Gopal Krishna Gokhale"/>
<option value="Subhash Chandra Bose"/>
</datalist>
</body>
</html>
Output :


<datalist> Tag Attributes
HTML <datalist> tag does not support any specific attributes.
Global Attributes
HTML <datalist> tag support following global attributes.
Sno | Attributes | Sno | Description |
---|---|---|---|
1 | id | unique_name | Declared unique id for an element. |
2 | class | class_name | Declared one or more classnames for an element. |
3 | style | styles | CSS inline styles specify an element. |
4 | title | title | Specify extra details of element contain, this will display as a “tooltip” for an elements. |
Event Attributes
HTML <datalist> tag support following event attributes.
Sno | Attributes | Value | Description |
---|---|---|---|
1 | onfocus | script | element gets focus on object when script tobe run. |
2 | onblur | script | element lose the focus on object when scrip tobe run. |
3 | onabort | script | element gets aborted on object when script tobe run. |
4 | onchange | script | element gets anytime change on object when script tobe run. |
5 | onbeforeunload | script | element gets unloaded on object when scrip tobe run. |
6 | onclick | script | clicked on object when script tobe run. |
7 | ondblclick | script | double click on object when script tobe run. |
8 | onkeydown | script | key is pressed when script tobe run. |
9 | onkeypress | script | key is pressed over element then released when script tobe run. |
10 | onkeyup | script | key is released over element when script tobe run. |
11 | onmousedown | script | mouse button was pressed over an element when script tobe run. |
12 | onmouseout | script | mouse pointer release over an element when script tobe run. |
13 | onmousemove | script | run mouse pointer moved when script tobe run. |
14 | onmouseover | script | run mouse pointer move over when script tobe run. |
15 | onmouseup | script | mouse button is released when script tobe run. |
16 | onreset | script | form has been reset when script tobe run. |
17 | onselect | script | Select some content when script tobe run. |
18 | onsubmit | script | form has been submitted when script tobe run. |
19 | onload | script | object has load when script tobe run. |
20 | onchange | script | allow to change the object when script tobe run. |
21 | onunload | script | unload to the browser window when script tobe run. |
22 | ondrag | script | element being dragged when script tobe run. |
23 | ondragend | script | element being stop dragged when script tobe run. |
24 | ondragenter | script | element being go target dragged when script tobe run. |
25 | ondragleave | script | element being leave to target dragged when script tobe run. |
26 | ondragover | script | element being over to target dragged when script tobe run. |
27 | ondragstart | script | element being start dragged when script tobe run. |
28 | ondrop | script | element being dropped when script tobe run. |
29 | onerror | script | element error occurs when script tobe run. |
30 | onmessage | script | element message display when script tobe run. |
31 | onerror | script | element error occurs when script tobe run. |
32 | onmousewheel | script | mouse wheel will be rotate when script tobe run. |
33 | onscroll | script | scrollbar is scroll when script tobe run. |
34 | onresize | script | element should be resize when script tobe run. |
35 | onselect | script | all element content selected when script tobe run. |
36 | onstorage | script | element should be store in target when script tobe run. |
Browser Compatibility
Sno | Browser | Support |
1 | Chrome | Yes |
2 | Firefox | Yes |
3 | Edge | Yes |
4 | Opera | No |
5 | Safari | No |
6 | Internet Explorer | No |