HTML Tags – Select Tag


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.

SnoAttributesValueDescription
1autofocusautofocusSpecifies boolean value that indicates <select> element should be automatically get focus when it load.
2disableddisabledSpecifies disabled value that indicates <select> element should have disabled.
3formform_idSpecifies the form, this <select> element is associated with it.
4multiplemultipleSpecifies that user can select multiple options at once.
5requiredrequiredSpecifies that user is required to choose an option before submitting the form.
6sizenumberSpecifies 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.

SnoAttributesValueDescription
1idunique_nameDeclared unique id for an element.
2classclass_nameDeclared one or more classnames for an element.
3stylestylesCSS inline styles specify an element.
4titletitleSpecify extra details of element contain, this will display as a “tooltip” for an elements.

Event Attributes

HTML <select> tag support following event attributes.

SnoAttributesValueDescription
1onfocusscriptelement gets focus on object when script tobe run.
2onblurscriptelement lose the focus on object when scrip tobe run.
3onabortscriptelement gets aborted on object when script tobe run.
4onchangescriptelement gets anytime change on object when script tobe run.
5onbeforeunloadscriptelement gets unloaded on object when scrip tobe run.
6onclickscriptclicked on object when script tobe run.
7ondblclickscriptdouble click on object when script tobe run.
8onkeydownscriptkey is pressed when script tobe run.
9onkeypressscriptkey is pressed over element then released when script tobe run.
10onkeyupscriptkey is released over element when script tobe run.
11onmousedownscriptmouse button was pressed over an element when script tobe run.
12onmouseoutscriptmouse pointer release over an element when script tobe run.
13onmousemovescriptrun mouse pointer moved when script tobe run.
14onmouseoverscriptrun mouse pointer move over when script tobe run.
15onmouseupscriptmouse button is released when script tobe run.
16onresetscriptform has been reset when script tobe run.
17onselectscriptSelect some content when script tobe run.
18onsubmitscriptform has been submitted when script tobe run.
19onloadscriptobject has load when script tobe run.
20onchangescriptallow to change the object when script tobe run.
21onunloadscriptunload to the browser window when script tobe run.
22ondragscriptelement being dragged when script tobe run.
23ondragendscriptelement being stop dragged when script tobe run.
24ondragenterscriptelement being go target dragged when script tobe run.
25ondragleavescriptelement being leave to target dragged when script tobe run.
26ondragoverscriptelement being over to target dragged when script tobe run.
27ondragstartscriptelement being start dragged when script tobe run.
28ondropscriptelement being dropped when script tobe run.
29onerrorscriptelement error occurs when script tobe run.
30onmessagescriptelement message display when script tobe run.
31onerrorscriptelement error occurs when script tobe run.
32onmousewheelscriptmouse wheel will be rotate when script tobe run.
33onscrollscriptscrollbar is scroll when script tobe run.
34onresizescriptelement should be resize when script tobe run.
35onselectscriptall element content selected when script tobe run.
36onstoragescriptelement should be store in target when script tobe run.

Browser Compatibility

SnoBrowserSupport
1ChromeYes
2FirefoxYes
3EdgeYes
4OperaYes
5SafariYes
6Internet ExplorerYes