Bootstrap Button Dropdown Input Controls
by André Albson
HTML
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://fontawesome.io/assets/font-awesome/css/font-awesome.css">
<br/><br/>
<div class="container">
<div class="row">
<div class='dropdown'>
<button type="button" class="btn btn-default dropdown-toggle texto-dropdown" data-toggle="dropdown"> Metas
<span class='caret'></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#"><i class="fa fa-user"></i> Terminar</a></li>
<li><a href="#"><i class="fa fa-user"></i> Another item</a></li>
</ul>
</div>
</div>
</div>
CSS
.btn-input {
display: block;
}
.btn-input .btn.form-control {
text-align: left;
}
.btn-input .btn.form-control span:first-child {
left: 10px;
overflow: hidden;
position: absolute;
right: 25px;
}
.btn-input .btn.form-control .caret {
margin-top: -1px;
position: absolute;
right: 10px;
top: 50%;
}
JavaScript
$( document.body ).on( 'click', '.dropdown-menu li', function( event ) {
var $target = $( event.currentTarget );
$target.closest( '.btn-group' )
.find( '[data-bind="label"]' ).text( $target.text() )
.end()
.children( '.dropdown-toggle' ).dropdown( 'toggle' );
return false;
});