Bootstrap通过点击标题使手风琴折叠?

时间:2014-04-19 19:59:28

标签: javascript jquery html twitter-bootstrap

如何在点击标题后让手风琴折叠,而不仅仅是标题中的文字?现在它只在我点击“Major”时才会崩溃。

JSFiddle:http://jsfiddle.net/P63pp/

我的手风琴html:

<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="accordian" href="#collapseMajor">
                    Major
                </a>
            </h4>
        </div>
        <div id="collapseMajor" class="panel-collapse collapse in">
            <div class="panel-body">
                <div class="checkbox">
                    <label>
                        <input type="checkbox" id="All" title="major" class="check-all-majors" checked>
                            All Majors
                    </label>
                </div>
                <div class="checkbox-group">
                    <div class="checkbox">
                        <label>
                            <input type="checkbox" id="AFM" title="major" class="check-majors" checked>AFM
                        </label>
                    </div>
                <div class="checkbox">
                    <label>
                        <input type="checkbox" id="ARTS" title="major" class="check-majors" checked>ARTS
                    </label>
                </div>
                <div class="checkbox">
                    <label>
                        <input type="checkbox" id="CHEM" title="major" class="check-majors" checked>CHEM
                    </label>
                </div>
            </div>
        </div>
    </div>
</div>

3 个答案:

答案 0 :(得分:6)

您需要将a标记设为块元素,并应用a的面板标题填充。您可以创建一个panel-accordion面板,并将其用于所有手风琴面板。 Demo.

.panel-accordion .panel-heading
{
    padding: 0;
}

.panel-accordion .panel-heading a
{
    display: block;
    padding: 10px 15px;
}

答案 1 :(得分:5)

谢谢dfsq!如果删除标记,下划线行为就会消失 - 效果会更好!

我还将其他属性移动到面板标题div - 远离bootstrap示例代码为您提供的标记。这使得面板标题的行为与旧的一样......

<div class="panel-heading" role="tab" id="headingOne" data-target="#collapseOne" data-toggle="collapse" data-parent="#accordion">
    <h4 class="panel-title">Collapsable Group Item #1</h4>
</div>

我在页面上添加了一些CSS来更改光标:

    <style> .panel-heading { cursor: pointer; } </style>

答案 2 :(得分:4)

您可以稍微更改一下HTML:

<div class="panel-heading" data-toggle="collapse" data-target="#collapseMajor">
    <h4 class="panel-title">
        <a href="#collapseMajor">Major</a>
    </h4>
</div>

所以只需将data-toggle="collapse" data-target="#collapseMajor"添加到.panel-heading div。

演示:http://jsfiddle.net/P63pp/1/