Bootstrap Accordion Toggle On Off

时间:2016-09-13 19:21:38

标签: javascript jquery html twitter-bootstrap

我的网页上写了一个Bootstrap手风琴,效果非常好。 我想使用Bootstrap Toggle(http://www.bootstraptoggle.com)编写一些附加功能。

主要思想是,当选中一个复选框时,手风琴功能将起作用(只有一个面板打开)一个时间),当未选中复选框时,我们可以一次打开多个面板。

由于手风琴功能使用"数据 - 父级"设置为" panel-group" div,我尝试更改div的id以禁用手风琴,但它并没有真正起作用。

这是小组的div。(有2个)

<div name="panel1" class="panel-group" id="blah">

复选框

<div align="center" class="checkbox">
    <input onchange="setClass(this)" id="collapse-logic" type="checkbox" data-toggle="toggle" data-on="Shrink On" data-off="Shrink Off">
</div>

这是我的复选框

的onchange()事件的JS代码
function setClass(elem){
        if(elem.checked){
            document.getElementsByName("panel1")[0].id="accordion";
            document.getElementsByName("panel2")[0].id="accordion2";                
        }
        else{
            document.getElementsByName("panel1")[0].id="blah";
            document.getElementsByName("panel2")[0].id="blah2";                
        }
}


我认为更改数据 - 父名称将禁用该功能,但它不是很有用。我哪里错了?

1 个答案:

答案 0 :(得分:2)

你需要“销毁”崩溃插件,然后在没有父选项的情况下重新启动..

   // multi mode
   $('.panel-collapse').removeData('bs.collapse'); // destroy collapse
   $('.panel-collapse').collapse({parent:false});

   // single accordion mode
   $('.panel-collapse').removeData('bs.collapse'); // destroy collapse
   $('.panel-collapse').collapse({parent:'#accordion'}); 

<强> Codeply Demo