Dropdown select search

by someprimetime

HTML

<div class="js-search-dropdown dropdown_wrapper">
<div id="search_container">
    <div class="js-search-btn" id="category_wrapper">
        <div id="category_content"><span class="js-category-text">Category</span><span id="arrow"></span>
        </div>
    </div>
    <input type="text" id="search_box" name="search" placeholder="Search" />
</div>


<div class="js_dropdown_box" style="display: none;">
<ul>
    <li>Settings</li>
    <li>Profile</li>
    <li>Help</li>
    <li>Sign Out</li>
</ul>
</div>
</div>

CSS

body {
    margin:10px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 12px;
}
.dropdown_wrapper {
    width: 200px;
}
.js-category-text {
    position: relative;
    right: 20px;
    float: right;
}

#search_box {
    border: 0;
    width: 130px;
    padding: 3px;
}
#search_box:focus {
    outline: none;
}
#search_container {
    border: 1px solid #c3c3c3;
    height: 20px;
    width: 200px;
    position: relative;
}

#category_wrapper {
    cursor: pointer;
    right: 0;
    height: 22px;
    z-index: 50;
    position: absolute;
}
#category_content {
    position: relative;
    float: left;
    display: block;
    width: 70px;
    top: 10%;
}
#arrow {
    background: url(http://i.imgur.com/8ltyn.png) no-repeat;
    display: block;
    height: 6px;
    width: 10px;
    position: absolute;
    left: 55px;
    bottom: 20%;
}
ul {
}
input[type="checkbox"] {
 margin-right: 5px;   
}
label {
    cursor: pointer;
}
li {
    padding: 2px 10px;
    cursor: pointer;
    display: block;
}
li:hover {
    color: #fff;
    background-color: #0162C4;
}

.js_dropdown_box {
position: absolute;
background: white;
display: none;
z-index: 111;
color: #4B5C66;
font-size: 12px;
margin-left: 2px;
line-height: 24px;
border: 1px solid #B8C3C9;
padding: 6px 0;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
-webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
-moz-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
-o-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
    float: right;
    position: relative;
    min-width: 100px;
     
}

JavaScript

/* Our search dropdown container */
(function($) {
    var methods = {
        init: function() {
            return this.each(function() {
                var $container = $(this);
                var $catBtn = $container.find('.js-search-btn');
                var $dropdownBox = $container.find('.js_dropdown_box');
                var $categoryText = $container.find('.js-category-text');
                $catBtn.click(function(e) {
                    $dropdownBox.show();
                    $dropdownBox.find('li').click(function(e) {
                        $dropdownBox.hide();
                    });
                    $('html, body').click(function() {
                        $dropdownBox.hide();
                    });
                    e.stopPropagation();

                });

            });
        }
    };
    $.fn.b_searchDropDown = function(method) {
        if (methods[method]) {
            return methods[method].apply(this);
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this);
        }
    };
})(jQuery);

$('.js-search-dropdown').b_searchDropDown();