我实施了Bootstrap 3 Collapse。当单击任何一个标题链接时,客户端希望扩展所有目标块。我试图实现this answer的修改版本,但无法使其正常工作。
如何点击其中任何一个目标块以展开/折叠所有目标块?
这是标记:
<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");
}
});
答案 0 :(得分:21)
我在这个问题上得到了一些离线帮助。要使用的脚本是
$('#accordion .panel-default').on('click', function () {
$('#accordion .panel-collapse').collapse('toggle');
});
这是JSFiddle示例http://jsfiddle.net/gtowle/Vq6gt/1/
答案 1 :(得分:19)
想出来。 如果要折叠元素,则需要指定#accordion的内容 div, 在你的情况下(也是我的),该课程是 .collapse 。
$('#accordion .collapse').collapse('show');
答案 2 :(得分:2)
我需要折叠/展开点击链接。这是我的解决方案:
<a id="acollapse" href="javascript:jQuery('div .panel-collapse').collapse('hide'); jQuery('#acollapse').hide();jQuery('#aexpand').show();">Collapse All</a>';
<a id="aexpand" href="javascript:jQuery('div .panel-collapse').collapse('show'); jQuery('#aexpand').hide(); jQuery('#acollapse').show();" style="display: none;">Expand All</a>
答案 3 :(得分:0)
尝试此操作将对您有所帮助。
$('.panel-collapse').removeData('bs.collapse')
.collapse({parent:false, toggle:false})
.collapse('show')
.removeData('bs.collapse')
.collapse({parent:'#accordion', toggle:false});
答案 4 :(得分:0)
我们有办法解决这个问题。
<div class="AccordionStyle panel-group" id="Security_accordion">
<div class="ShowAllTabs"><a>SHOW ALL <i class="fa fa-chevron-down"></i></a></div>
<!--= collapse-start =-->
<div class="panel">
<div class="panel-heading">
<div href="#SecurityServices" data-toggle="collapse" data-parent="#Security_accordion" class="panel-title expand collapsed">
<div class="right-arrow pull-right icon_wrap"><i class="fa fa-chevron-down"></i></div>
<a>Security Services</a>
</div>
</div>
<div id="SecurityServices" class="panel-collapse collapse">
<div class="panel-body">
contents will go here...
</div>
</div>
</div>
<!--= END! =-->
</div>
<script>
$('.panel-group .ShowAllTabs').click(function(){
$(this).toggleClass('show_all_panels');
if($(this).hasClass('show_all_panels'))
{
$(this).closest('.panel-group').find('.panel-title').removeClass('collapsed').prop('aria-expanded',"true").attr('aria-expanded',"true");
$(this).closest('.panel-group').find('.panel-collapse').addClass('in').prop('aria-expanded',"true").attr('aria-expanded',"true").css("height","auto");
}else
{
$(this).closest('.panel-group').find('.panel-title').addClass('collapsed').prop('aria-expanded',"false").attr('aria-expanded',"false");
$(this).closest('.panel-group').find('.panel-collapse').removeClass('in').prop('aria-expanded',"false").attr('aria-expanded',"false");
}
setTimeout(function(){$( window ).resize();},200);
});
</script>
答案 5 :(得分:0)
$('#accordion .collapse').addClass("in")
答案 6 :(得分:0)
git