Please see this jQuery plugin for twitter bootstrap like dropdown button. Definitely, there is lot's of room for improvement. Also I'm not so good at CSS. So, I've left that part.
http://codepen.io/ismusidhu/pen/ptHql
HTML
<div id="quickActions" class="btn-group" data-key="split-button">
<a data-name="quickAction" data-value="customer" data-defaultButton="true">New Customer</a>
<button type="button" id="xyz" data-toggle="dropdown">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul data-role="menu" hidden>
<li><a data-name="quickAction" data-value="customer">Customer</a></li>
<li><a data-name="quickAction" data-value="supplier">Supplier</a></li>
<li><a data-name="quickAction" data-value="quote">Quote</a></li>
<li><a data-name="quickAction" data-value="invoice">Invoice</a></li>
<li><a data-name="quickAction" data-value="purchase">Purchase</a></li>
<li><a data-name="quickAction" data-value="reconcile">Bank</a></li>
</ul>
</div>
CSS
[data-key="split-button"].open > [data-role="menu"] {
display: block;
}
Plugin
(function( $ ) {
// Plugin definition.
$.fn.splitButton = function(options) {
// Iterate and reformat each matched element.
return this.each(function() {
var splitButton = $(this);
var handle = $('[data-toggle="dropdown"]', splitButton);
var buttons = $('ul li a', splitButton);
var defaultButton = $('[data-defaultButton="true"]', splitButton);
handle.click(function() {
$(this).parent().toggleClass('open');
});
var clickHandler = function(e) {
var $this = $(e.currentTarget);
//alert($this.attr('data-value'));
if (!$this.attr('data-defaultButton')) {
defaultButton.attr("data-value", $this.attr('data-value')).html($this.html());
}
};
buttons.click(clickHandler);
defaultButton.click(clickHandler)
$(document).click(function(event) {
if (!$(event.target).closest(handle).length) {
if ($(handle.parent()).hasClass("open")) {
$(handle.parent()).toggleClass('open');
}
}
});
});
};
})( jQuery );
Usage
$('#quickActions').splitButton();