引导程序'选择'样式,使用jquery转换为bootstrap下拉列表

Bootstrap 'select' styling, using jquery to transform into bootstrap dropdown

本文关键字:转换 下拉列表 jquery bootstrap 选择 样式 引导程序 使用      更新时间:2023-09-26

首先,我创建了一个选择列表来选择一个选项,当选择了一个选项时,使用bootstrap手风琴组件在下面显示附加信息。看看它是如何在这里工作的-http://bootply.com/69516

所以上面的内容也是我想要的,但它看起来很垃圾——理想情况下,我希望它看起来像引导程序下拉框。我找到了一些jquery来做这件事(下面),这是插入了jquery的bootply fork-http://bootply.com/69518

不幸的是,它不起作用,我猜转换会删除最初在选择列表中的"值"字段。我仍然可以通过jquery学习,这对我来说太多了!

jQuery(function($){
    $('select').each(function(i, e){
        if (!($(e).data('convert') == 'no')) {                                                    
            $(e).hide().wrap('<div class="btn-group" id="select-group-' + i + '" />');
            var select = $('#select-group-' + i);
            var current = ($(e).val()) ? $(e).val(): '&nbsp;';         
            select.html('<input type="hidden" value="' + $(e).val() + '" name="' + $(e).attr('name') + '" id="' + $(e).attr('id') + '" class="' + $(e).attr('class') + '" /><a class="btn" href="javascript:;">' + current + '</a><a class="btn dropdown-toggle" data-toggle="dropdown" href="javascript:;"><span class="caret"></span></a><ul class="dropdown-menu"></ul>');                                   
            $(e).find('option').each(function(o,q) {
                select.find('.dropdown-menu').append('<li><a href="javascript:;" data-value="' + $(q).attr('value') + '">' + $(q).text() + '</a></li>');                    
                    if ($(q).attr('selected'))
                        select.find('.dropdown-menu li:eq(' + o + ')').click();
            });
            select.find('.dropdown-menu a').click(function() {
                select.find('input[type=hidden]').val($(this).data('value')).change();
                select.find('.btn:eq(0)').text($(this).text());
            });
        }
    });
});

末尾缺少一个分号

$('select[name="panel"]').change(function(event){
    var selected = $(this).find('option:selected');
    var value = selected.attr("value");
    var name=  $(this).attr("name");
    var selector = '[for-field="'+name+'"]';
    $('.accordion-body'+selector).addClass('collapse');
    var selectorForValue = selector+'[for-value="'+value+'"]';
    var selectedPanel = $('.accordion-body'+ selectorForValue  );
    selectedPanel.removeClass('collapse');
})

http://bootply.com/69711-无法将两个脚本合并在一起,因此必须对其进行样式设置。