javascript-Bootstrap下拉菜单不会选择该元素.需要下拉按钮组设计
作者:互联网
我正在使用twitter bootstrap,并寻找一个下拉按钮,看起来像一个按钮组.问题在于,在所有twitter引导示例中,下拉列表仅充当菜单项,因此所选项实际上并未更改:
http://twitter.github.com/bootstrap/javascript.html#dropdowns
有谁知道如何设计按钮组等下拉菜单?
解决方法:
我将此搜索结果转换为jquery插件:
(function($) {
$.fn.buttonSelect = function() {
this.hide().wrap('<div class="btn-group"/>');
var select = this.parent();
var selectedOption=this.find('option[selected]').length>0?this.find('option[selected]'):this.find('option:nth(0)');
var currentValue = selectedOption.val();
var currentText = selectedOption.text();
select.html(
'<input type="hidden" value="' + this.val() + '"/>'+
'<a class="btn dropdown-toggle" data-toggle="dropdown" href="javascript:;">'+
'<span>'+currentText+'</span>'+
' <span class="caret"></span>'+
'</a>'+
'<ul class="dropdown-menu"></ul>');
var dropdownMenu=select.find('.dropdown-menu');
this.find('option').each(function(o, q) {
dropdownMenu.
append('<li><a href="javascript:;" data-value="' + $(q).attr('value') + '">' + $(q).text() + '</a></li>');
});
var hidden=select.find('input[type=hidden]');
var label=select.find('.btn span:nth(0)');
dropdownMenu.find('a').click(function() {
hidden.val($(this).data('value')).change();
label.text($(this).text());
});
return this;
};
})(jQuery);
然后,使用$(elem).buttonSelect();使select元素看起来像按钮组.
标签:twitter-bootstrap,css,javascript 来源: https://codeday.me/bug/20191201/2077212.html