content logo

Bootstrap Search Boxes:

Bootstrap Search Box for Accordion Lists

If you happen to have a large and complex website, there is a good chance that you face some issues regarding your users’ satisfaction. When the count of your pages and links go above the hundred mark, you will probably start categorizing them to bring some kind of order to your site. But even with this, the categories will start to get cluttered after a while and the users will have to look through hundreds of similar contents just to find the one they are looking for. It takes a long time to do this task and in case the user fails to find what they want, they might get frustrated and leave your site. To overcome this challenge, you can add a simple search function to your pages so that the users never get stuck in navigation.

Here we have a Bootstrap search box with an interesting design. This code features a search field with show results option which is really nice. This simple search field also has three sections, each with their own text and title. The sections are a Bootstrap accordion search box which means they can be expanded whenever they are clicked on. All in all, this Bootstrap search box can be useful in your website so we suggest you check its code out right away.

#

Bootstrap Search Box

#

Search Field with Show Result

#

Simple Search Field

#

Bootstrap Accordion Search Box

<!-- This script got from frontendfreecode.com -->
<div class="container" id="page_container">
    <div id="accordion_search_bar_container">
        <input type="search" id="accordion_search_bar" placeholder="Search" />
    </div>
    <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
        <div class="panel panel-success" id="collapseOne_container">
            <div class="panel-heading" role="tab" id="headingOne">
                <h4 class="panel-title">
                    <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
                        One
                    </a>
                </h4>
            </div>
            <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
                <div class="panel-body">
                    <p>Pellentesque convallis dolor</p>
                    <p>Enim at tincidunt magna dapibus vitae</p>
                </div>
            </div>
        </div>
        <div class="panel panel-primary" id="collapseTwo_Container">
            <div class="panel-heading" role="tab" id="headingTwo">
                <h4 class="panel-title">
                    <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
                        Two
                    </a>
                </h4>
            </div>
            <div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingTwo">
                <div class="panel-body">
                    <p>Vestibulum in laoreet nisi</p>
                    <p>Sit amet placerat massa</p>
                </div>
            </div>
        </div>
        <div class="panel panel-danger" id="collapseThree_Container">
            <div class="panel-heading" role="tab" id="headingThree">
                <h4 class="panel-title">
                    <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
                        Three
                    </a>
                </h4>
            </div>
            <div id="collapseThree" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingThree">
                <div class="panel-body">
                    <p>Curabitur sem eros tempor sit</p>
                    <p>Amet nunc eget, gravida mollis</p>
                </div>
            </div>
        </div>
    </div>
</div><a style="font-size: 8pt; text-decoration: none" target="_blank" href="http://frontendfreecode.com">Free Frontend</a>
                                                                            
@charset "UTF-8";
#page_container {
    margin-top: 15px;
    margin-bottom: 15px;
}
#accordion_search_bar_container {
    position: relative;
}
#accordion_search_bar_container:after {
    content: "\e003";
    font-family: Glyphicons Halflings;
    width: 18px;
    height: 18px;
    position: absolute;
    right: 10px;
    bottom: 10px;
}
#accordion_search_bar_container #accordion_search_bar {
    display: block;
    margin: 10px auto;
    width: 100%;
    padding: 7px 10px;
    border: 1px solid #cacaca;
    border-radius: 25px;
    outline: 0;
}
.panel-title a {
    display: block;
}
(function () {
    var searchTerm, panelContainerId;
    // Create a new contains that is case insensitive
    $.expr[":"].containsCaseInsensitive = function (n, i, m) {
        return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
    };
    $("#accordion_search_bar").on("change keyup paste click", function () {
        searchTerm = $(this).val();
        $("#accordion > .panel").each(function () {
            panelContainerId = "#" + $(this).attr("id");
            $(panelContainerId + ":not(:containsCaseInsensitive(" + searchTerm + "))").hide();
            $(panelContainerId + ":containsCaseInsensitive(" + searchTerm + ")").show();
        });
    });
})();
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- This script got from frontendfreecode.com -->

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<style>
@charset "UTF-8";
#page_container {
    margin-top: 15px;
    margin-bottom: 15px;
}
#accordion_search_bar_container {
    position: relative;
}
#accordion_search_bar_container:after {
    content: "\e003";
    font-family: Glyphicons Halflings;
    width: 18px;
    height: 18px;
    position: absolute;
    right: 10px;
    bottom: 10px;
}
#accordion_search_bar_container #accordion_search_bar {
    display: block;
    margin: 10px auto;
    width: 100%;
    padding: 7px 10px;
    border: 1px solid #cacaca;
    border-radius: 25px;
    outline: 0;
}
.panel-title a {
    display: block;
}
</style>

</head>
<body>
<div class="container" id="page_container">
    <div id="accordion_search_bar_container">
        <input type="search" id="accordion_search_bar" placeholder="Search" />
    </div>
    <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
        <div class="panel panel-success" id="collapseOne_container">
            <div class="panel-heading" role="tab" id="headingOne">
                <h4 class="panel-title">
                    <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
                        One
                    </a>
                </h4>
            </div>
            <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
                <div class="panel-body">
                    <p>Pellentesque convallis dolor</p>
                    <p>Enim at tincidunt magna dapibus vitae</p>
                </div>
            </div>
        </div>
        <div class="panel panel-primary" id="collapseTwo_Container">
            <div class="panel-heading" role="tab" id="headingTwo">
                <h4 class="panel-title">
                    <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
                        Two
                    </a>
                </h4>
            </div>
            <div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingTwo">
                <div class="panel-body">
                    <p>Vestibulum in laoreet nisi</p>
                    <p>Sit amet placerat massa</p>
                </div>
            </div>
        </div>
        <div class="panel panel-danger" id="collapseThree_Container">
            <div class="panel-heading" role="tab" id="headingThree">
                <h4 class="panel-title">
                    <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
                        Three
                    </a>
                </h4>
            </div>
            <div id="collapseThree" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingThree">
                <div class="panel-body">
                    <p>Curabitur sem eros tempor sit</p>
                    <p>Amet nunc eget, gravida mollis</p>
                </div>
            </div>
        </div>
    </div>
</div><div id="bcl"><a style="font-size:8pt;text-decoration:none;" href="http://www.devanswer.com">Free Frontend</a></div>
<script>
(function () {
    var searchTerm, panelContainerId;
    // Create a new contains that is case insensitive
    $.expr[":"].containsCaseInsensitive = function (n, i, m) {
        return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
    };
    $("#accordion_search_bar").on("change keyup paste click", function () {
        searchTerm = $(this).val();
        $("#accordion > .panel").each(function () {
            panelContainerId = "#" + $(this).attr("id");
            $(panelContainerId + ":not(:containsCaseInsensitive(" + searchTerm + "))").hide();
            $(panelContainerId + ":containsCaseInsensitive(" + searchTerm + ")").show();
        });
    });
})();
</script>

</body>
</html>
Preview