Bootstrap展开全部标签后折叠

问题描述:

我的Boostrap Collapse控件中的行为是让只有一个标签打开。因此,当我尝试展开一个标签时,已打开的标签已关闭,并且新标签已打开。一切正常。Bootstrap展开全部标签后折叠

然而,有一个场景,我需要让我使用此代码展开所有选项卡,展开所有选项卡:

$('#openAllBtn').click(function (e) { 
    e.preventDefault(); 

    $('#accordion .collapse').collapse('show'); 
}); 

而这种代码以关闭所有标签:

$('#closeAllBtn').click(function (e) { 
    e.preventDefault(); 

    $('#accordion .collapse').collapse('hide'); 
}); 

问题是,在所有选项卡用代码缩小后,控件的初始行为被打破,现在当我展开另一个选项卡时,打开的选项卡未关闭,可扩展多个选项卡。

我在做什么错?我想重新启动最初的行为。

我的HTML:

<ul class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> 
    <li class="panel panel-default"> 
     <div class="panel-heading" role="tab" id="collapse-heading-1"> 
      <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-category-1" aria-expanded="false" aria-controls="collapse-category-1"> 
       My title 1 
      </a> 
     </div> 
     <div class="panel-collapse collapse" id="collapse-category-1" role="tabpanel" aria-labelledby="collapse-heading-1"> 
      <div class="panel-body"> 
       My body 1 
      </div> 
     </div> 
    </li> 
    <li class="panel panel-default"> 
     <div class="panel-heading" role="tab" id="collapse-heading-2"> 
      <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-category-2" aria-expanded="false" aria-controls="collapse-category-2"> 
       My title 2 
      </a> 
     </div> 
     <div class="panel-collapse collapse" id="collapse-category-2" role="tabpanel" aria-labelledby="collapse-heading-2"> 
      <div class="panel-body"> 
       My body 2 
      </div> 
     </div> 
    </li> 
    <li class="panel panel-default"> 
     <div class="panel-heading" role="tab" id="collapse-heading-3"> 
      <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-category-3" aria-expanded="false" aria-controls="collapse-category-3"> 
       My title 3 
      </a> 
     </div> 
     <div class="panel-collapse collapse" id="collapse-category-3" role="tabpanel" aria-labelledby="collapse-heading-3"> 
      <div class="panel-body"> 
       My body 3 
      </div> 
     </div> 
    </li> 
</ul> 
+0

您可以发布所有的代码,或创建一个bootply /小提琴? – ZimSystem

+0

@ZimSystem我不认为会是一个HTML问题,但我有一个我的代码的例子;-) –

+0

所有的JS呢?什么触发了“全部扩展”? – ZimSystem

我认为你要做到这一点..

$('.open-all').click(function(){ 
    $('.panel-collapse').removeData('bs.collapse') 
    .collapse({parent:false, toggle:false}) 
    .collapse('show') 
    .removeData('bs.collapse') 
    .collapse({parent:'#accordion', toggle:false}); 
}); 

http://www.codeply.com/go/03TTywsINc

+0

这是行不通的,在你的例子中,你可以重现我遇到的错误:该控件的第一个行为是保持只打开一个选项卡。展开全部并全部缩小后,行为会发生变化并保持打开N个选项卡。 –

+0

我更新了这个例子。 Bootstrap崩溃组件必须被删除,然后重新应用以重置手风琴的行为。 – ZimSystem

+0

非常感谢你!这是工作!!! :-) –