HTML Tags – Optgroup Tag


What is HTML <optgroup> tag ?

HTML <optgroup> tag creates a grouping of options within a <select> element.

HTML <optgroup> tag creates a grouping of options, the related options are grouped under specific headings.

HTML <optgroup> tag represent labels of grouped options.

How HTML <optgroup> tag works ?

HTML <optgroup> tag creates a group of the same category options in a drop-down list.

The “label” attribute must be specified, which makes it easier for users to understand their choices when a long list of options.

The “label” value will appear as a grey heading above the grouped items within the <select> control.

Why HTML <optgroup> tag is used ?

HTML <optgroup> tag is used to group together related <option> elements within a parent <select> drop-down list.

If we have a long list of options, groups of related options are easier to handle for a user.

HTML beginners tutorial !!!

Click to Learn More about – HTML Tutorial for beginners

Syntax :

<optgroup>
      <option>..</option>
        .
        .
</optgroup>

1. Simple Optgroup Tag


Example :

<!DOCTYPE html>
<html>
<head>
     <title>Optgroup Tag</title>
</head>
<body>
        <h1>Welcome to CSTechbook</h1>
        <h3>HTML optgroup tag</h3>
        <select>
                <!-- optgroup tag starts -->
                        <optgroup label="Programming Languages">
                                <option value="C">C</option>
                                <option value="C++">C++</option>
                                <option value="Core Java">Java</option>
                        </optgroup>
                        <optgroup label="Scripting Language">
                                <option value="JavaScript">JavaScript</option>
                                <option value="PHP">PHP</option>
                                <option value="Shell">Shell</option>
                        </optgroup>
                <!-- optgroup tag ends   -->
                </select>
</body>
</html>

Output :


2. Optgroup disabled

Example :

<!DOCTYPE html>
<html>
<head>
     <title>Optgroup Tag</title>
</head>
<body>
        <h1>Welcome to CSTechbook</h1>
        <h2>HTML optgroup Tag</h2>
        <select>
                <!-- optgroup tag starts -->
                        <optgroup label="Programming Languages">
                                <option value="C">C</option>
                                <option value="C++">C++</option>
                                <option value="Core Java">Core Java</option>
                        </optgroup>
                        <optgroup label="Scripting Language" disabled>
                                <option value="JavaScript">JavaScript</option>
                                <option value="PHP">PHP</option>
                                <option value="Shell">Shell</option>
                        </optgroup>
                <!-- optgroup tag ends -->
                </select>
</body>
</html>

Output :

<optgroup> Tag Attributes

HTML <optgroup> tag support following specific attributes.

SnoAttributesValueDescription
1disableddisabledSpecify that this option group will be prevent to selectable.
2labeltextSpecify the name of the group of options.

Global Attributes

HTML <optgroup> 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 <optgroup> 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