2014-02-27 302 views
9

我已經實現了Bootstrap 3摺疊。當任何一個標題鏈接被點擊時,客戶希望所有的目標塊都展開。我試圖實現this answer的修改版本,但無法使其工作。Bootstrap摺疊 - 全部展開

如何讓所有目標塊在點擊其中任何一個時展開/摺疊?

這是標記:

<div class="panel-group" id="accordion"> 
    <div class="panel panel-default"> 
     <div class="panel-heading"> 
      <h6 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapse{entry_id}">{title}</a></h6> 
     </div> 
    </div> 
    <div id="collapse{entry_id}" class="panel-collapse collapse"> 
     <div class="panel-body"> 
     {technology_body} 
     </div> 
    </div> 
</div> 

這是JS我已經嘗試:

$('#accordion').on('click', function() { 
    if($('.collapse:not(.in)')) { 
     $.collapse("toggle"); 
    } 
}); 
+1

JSFiddle示例? –

回答

21

我一些幫助下線在這個問題上了。使用的腳本是

$('#accordion .panel-default').on('click', function() { 
    $('#accordion .panel-collapse').collapse('toggle'); 
}); 

,這是的jsfiddle例如http://jsfiddle.net/gtowle/Vq6gt/1/

+0

這會切換可摺疊元素的狀態。如果我們擴展了元素並且我想擴展所有元素,那麼它會崩潰擴展元素並擴展其他元素。任何想法來解決這個問題? – jagmohan

+3

@jagmohan要解決您的問題,只需使用'show'或'hide'而不是'toggle'作爲collapse()函數的參數,如[docs](http://getbootstrap.com/javascript/#collapse) 。 –

+0

謝謝菲利普。我能夠弄清楚。 – jagmohan

14

想通了。 當你想摺疊你的元素 - 你需要指定內容 div的#accordion, 你的情況(也是我的)類是.collapse

$('#accordion .collapse').collapse('show'); 
+0

謝謝。這工作完美。 –