Open In App

How to add image before optgroup label using Bootstrap ?

Last Updated : 05 May, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

What is optgroup label?

It is an HTML tag that is used to group the options given in <select> tag. This combines the options in different groups having different labels.

Syntax: 

HTML




<optgroup label="text">
    <option value="One">One</option>
    <option value="Two">Two</option>
</optgroup>


If we need to add an image before optgroup label using bootstrap than we have to put “image” tag in label giving the source location of the image with the label name.

Example: The following example demonstrates the optgroup having image before label using Bootstrap.

HTML




<!DOCTYPE html>
<html lang="en">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport"
        content="width=device-width, initial-scale=1,
        shrink-to-fit=no">
    <script src=
    </script>
    <script src=
    </script>
    <link rel="stylesheet" href=
    <script src=
    </script>
    <link rel="stylesheet" href=
    <script src=
    </script>
    <style>
        .bootstrap-select img {
            width: 16px;
        }
    </style>
</head>
<body>
    <select class="selectpicker">
        <optgroup label=
            "<img src='https://openmoji.org/data/color/svg/1F600.svg'> Numbers">
            <option value="1">One</option>
            <option value="2">Two</option>
            <option value="3">Three</option>
        </optgroup>
        <optgroup label=
            "<img src='https://openmoji.org/data/color/svg/1F923.svg'> Digits">
            <option value="Four">4</option>
            <option value="Five">5</option>
            <option value="Six">6</option>
        </optgroup>
    </select>
    <script>
        $('.selectpicker').on('shown.bs.select', function () {
            $('.bootstrap-select .dropdown-header').each(function () {
                if ((this.dataset.unescaped || '1') == '1') {
                    let element = $(this);
                    element.html(element.text());
                    element.attr('data-unescaped', '0');
                }
            })
        })
    </script>
</body>
</html>


Output:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads