javascript - 下拉多选复选标记切换

标签 javascript jquery html css twitter-bootstrap

基于此代码 http://jsfiddle.net/bs5rc6k3/3/我创建了一个下拉列表,当您选择一个选项时,它会在该选项旁边添加一个复选标记。但这仅适用于单选。如何将其更改为切换功能,我可以在其中为我选择的每个选项添加复选标记,换句话说,多选复选标记?

这是我的代码:

HTML

<div class="col-lg-12">
   <div class="button-group">
       <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span>Column Filter</span> <span class="caret"></span></button>
           <ul id="myDropdown" class="dropdown-menu">
           <li><a href="#" class="toggle-vis" data-column="0"><i class="fa fa-check"></i> A</a></li>
           <li><a href="#" class="toggle-vis" data-column="1"><i class="fa fa-check"></i> B</a></li>
           <li><a href="#" class="toggle-vis" data-column="2"><i class="fa fa-check"></i> C</a></li>
           <li><a href="#" class="toggle-vis" data-column="3"><i class="fa fa-check"></i> D</a></li>

                            </ul>
                        </div>
                    </div>

Javascript

<script>
    $('#myDropdown > li > a').click(function(e){
        $('#myDropdown > li > a').removeClass('selected');
        $(this).addClass('selected');
    });
</script>

CSS

#myDropdown > li > a > .fa{
    visibility:hidden;
}
#myDropdown > li > a.selected > .fa{
    visibility:visible;
}

最佳答案

使用toggleClass()方法而不是 addClass() 并且不要从其他方法中删除它。添加 dropdown('toggle') 以防止菜单在单击某个元素后折叠。

$('#myDropdown > li > a').click(function(e){
    $(this).toggleClass('selected');
    $('.dropdown-menu').dropdown('toggle');
});

关于javascript - 下拉多选复选标记切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44260618/

相关文章:

ruby-on-rails - jQuery .on() 不适用于 jquery-ujs

javascript - 将 div 背景 url 替换为图像 src

javascript - jQuery 事件 : prepend a callback handler to already existing ones

html - 为什么我的两种语言样式表都出现在页面加载时,而不仅仅是默认样式表?

javascript - 之后如何获取查询字符串值?登录 JavaScript

javascript - 当实际结束时播放列表中的下一个 YouTube 视频

javascript - getElementById 给出结果加上字符串

javascript - 在 php 中从网站 Facebook 共享

php - 发送电子邮件 navigator.useragent

javascript - 如何(以编程方式)将谷歌字体添加到 ckeditor