【问题标题】:Bootstrap drop down does not select the element. need drop down with button group designBootstrap 下拉菜单不选择元素。需要下拉按钮组设计
【发布时间】:2012-08-04 12:38:36
【问题描述】:

我正在使用 twitter 引导程序并寻找一个看起来像按钮组的下拉菜单。问题在于,在所有 twitter 引导示例中,下拉菜单仅充当菜单项,因此所选项目并没有真正改变:
http://twitter.github.com/bootstrap/javascript.html#dropdowns

有人知道如何设计像按钮组这样的下拉菜单吗?

【问题讨论】:

    标签: javascript css twitter-bootstrap


    【解决方案1】:

    我将此网页发现转换为 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>'+
                    '&nbsp;&nbsp;<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();使选择元素看起来像按钮组。

    【讨论】:

    • 为了将圆角移到左侧,我将隐藏的输入字段移动到下拉切换锚点下方。
    猜你喜欢
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2018-06-03
    • 1970-01-01
    相关资源
    最近更新 更多