Bootstrap手风琴只能自动折叠一个面板

时间:2014-05-30 20:05:24

标签: twitter-bootstrap twitter-bootstrap-3 accordion

过去2个小时我一直在摸不着头脑。我有一个带两个面板的手风琴。我希望默认情况下扩展第一个面板。单击折叠面板的标题时,我希望该面板展开,另一个面板折叠。它仅适用于第二个面板的某些情况。

这是JSFiddle

这是我的标记:

<div id="proposalAccordian" class="panel-group">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#proposalAccordian" href="#collapseContact">Contact</a>
            </h4>
        </div>
        <div id="collapseContact" class="panel-collapse collapse in">
            <div class="panel-body">
                @Html.Partial("_ContactPanel")
            </div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#proposalAccordion" href="#collapseProposal">Proposal</a>
            </h4>
        </div>
        <div id="collapseProposal" class="panel-collapse collapse">
            <div class="panel-body">
                @Html.Partial("_ProposalPanel")
            </div>
        </div>
    </div>
</div>

我正在使用Bootstrap v3.1.1和jQuery v1.10.4。

4 个答案:

答案 0 :(得分:11)

您需要添加data-parent="#proposalAccordian"

<a data-toggle="collapse" data-parent="#proposalAccordian"  href="#collapseProposal">Proposal</a>

请参阅小提琴:http://jsfiddle.net/nicos/JKqGc/

答案 1 :(得分:0)

Strangely, your code works on jQuery 1.9.x:

http://jsfiddle.net/isherwood/MMxMn/5

and 1.11.x:

http://jsfiddle.net/isherwood/MMxMn/4

but not 1.10.x:

http://jsfiddle.net/isherwood/MMxMn/8

请注意,我已经规范了&#34;手风琴&#34;的拼写。修复手风琴的功能。

答案 2 :(得分:0)

<div id="accordion" role="tablist" aria-multiselectable="true">
    All panels inside this..
</div>

在我们的例子中,问题出在HTML结构中,就像我们在foreach循环中一样。解决方法是为所有面板使用单个手风琴。

答案 3 :(得分:0)

试试这个

var $collapse = $('.collapse');
$collapse.collapse().on('show.bs.collapse', function() {
    $collapse.collapse('hide');
});