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();