What is the HTML <select> tag ?
HTML <select> tag is used to create a drop down list with multiple options.
HTML <option> tag defines the possible options to choose from.
HTML <option> tag is put inside the <select> tag.
HTML <optgroup> tag is used for grouping related options in a list inside the <select> tag.
Mostly the <select> tag is used inside HTML forms.
How HTML <select> tags works ?
HTML <select> tag creates a drop-down list within the form element.
HTML <option> tags present inside the <select> element defines the available options in the drop-down list.
The first option from the list of options is selected by default.
Note : To change a predefined option to be selected by default, the “selected” attribute is used for that particular option.
Note : Always add the <label> tag for best accessibility practices!
“id” attribute is needed to associate the drop-down list with a label.
“name” attribute is needed to reference the form data after the form is submitted (if you we don’t use the name attribute, no data from the drop-down list will be submitted).
Why is the HTML <select> tag used ?
HTML <select> element is most often used in a form, to collect user input.
If we want to send data to server then we can use <select> tag within <form> element.
What are the drawbacks by using HTML <select> tag ?
HTML <select> tag is difficult to style effectively with CSS.
We can only control or affect only certain parts of an element.
For example, we can modify the displayed font, box model, etc by using the appearance property for removing the default system appearance.
However, these modified properties will not give a stable result across all browsers.
For getting a full control of HTML<select> tag, we may need to use special/external libraries for styling form widgets, dropdown menus.
HTML beginners tutorial !!!
Click to Learn More about – HTML Tutorial for beginners
Syntax :
<select name="Name">
<option value="value1">Option1</option>
<option value="value2">Option2</option>
<option value="value3">Option3</option>
<option value="value4">Option4</option>
<option value="value5">Option5</option>
</select>
Example :
<!DOCTYPE html>
<html>
<head>
<title>HTML select tag</title>
</head>
<body>
<h3>Select Tag</h3>
<p>Select the country using Select Tag</p>
<select name="country">
<option value="india">India</option>
<option value="pakistan">Pakistan</option>
<option value="singapore">Singapore</option>
<option value="england">England</option>
<option value="france">France</option>
<option value="china">China</option>
<option value="japan">Japan</option>
</select>
<br />
</body>
</html>
Output :

Example :
<!DOCTYPE html>
<html>
<head>
<title>HTML select tag</title>
</head>
<body>
<h3>Multiple Select Tag</h3>
<p>Select the country using Multiple Select Tag</p>
<select name="country" size="5" multiple="multiple">
<option value="india">India</option>
<option value="pakistan">Pakistan</option>
<option value="singapore">Singapore</option>
<option value="england">England</option>
<option value="france">France</option>
<option value="china">China</option>
<option value="japan">Japan</option>
</select>
<p>Press Ctrl button and select one or more items</p>
</body>
</html>
Output :

<select> Tag Attributes
HTML <select>
tag support following specific attributes.
Sno | Attributes | Value | Description |
---|---|---|---|
1 | autofocus | autofocus | Specifies boolean value that indicates <select> element should be automatically get focus when it load. |
2 | disabled | disabled | Specifies disabled value that indicates <select> element should have disabled. |
3 | form | form_id | Specifies the form, this <select> element is associated with it. |
4 | multiple | multiple | Specifies that user can select multiple options at once. |
5 | required | required | Specifies that user is required to choose an option before submitting the form. |
6 | size | number | Specifies the number of options in the list that should be visible to the user at one time. |
Global Attributes
HTML <select>
tag support following global attributes.
Sno | Attributes | Value | 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 <select>
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 | Yes |
5 | Safari | Yes |
6 | Internet Explorer | Yes |