Open In App

How to add image before optgroup label using Bootstrap ?

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:



Last Updated : 05 May, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads