多个 bootstrap 手风琴面板 - 一次只打开一个

Multiple bootstrap accordion panels - only one open at a time

我想弄清楚为什么我的 bootstrap 手风琴在另一个打开时不会倒塌。我根据我见过的其他 Whosebug 示例以及 bootstrap 的文档以两种不同的方式对其进行了编码,但我仍然无法弄清楚为什么它无法正常运行。 BootstrapJS 是 3.3.7

想法是,无论单击什么 <a class="button collapsed">,只显示该内容,其余内容应该隐藏。

示例 1 使用单独的面板组

js fiddle DEMO

<div data-quickedit-entity-id="paragraph/84" class="panel-group" id="accordion-84" role="tablist" aria-multiselectable="true" data-quickedit-entity-instance-id="0">
      <div class="panel panel-default consortia">
        <div class="panel-heading" role="tab" id="heading-abc">
          <div class="row panel-title">
            <div class="col-sm-12 col-offset-130">

              <a class="button collapsed" data-toggle="collapse" data-parent="accordion-84" href="#abc-1" aria-expanded="false" aria-controls="abc-1">btn1
                    </a>
              <a class="button collapsed" data-toggle="collapse" data-parent="accordion-84" href="#abc-2" aria-expanded="false" aria-controls="abc-2">btn2
                    </a>
            </div>
          </div>
        </div>
        <div id="abc-1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-abc" style="height: 1px;" aria-expanded="false">
          <div class="panel-body">
            test2
          </div>
        </div>
        <div id="abc-2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-abc" style="height: 1px;" aria-expanded="false">
          <div class="panel-body">
    test3
          </div>
        </div>
      </div>
    </div>


    <div data-quickedit-entity-id="paragraph/87" class="panel-group" id="accordion-87" role="tablist" aria-multiselectable="true" data-quickedit-entity-instance-id="0">
      <div class="panel panel-default consortia">
        <div class="panel-heading" role="tab" id="heading-def">
          <div class="row panel-title">
            <div class="col-sm-12 col-offset-130">
              <a class="button collapsed" data-toggle="collapse" data-parent="accordion-87" href="#def-1" aria-expanded="false" aria-controls="def-1">btn1
                    </a>
              <a class="button collapsed" data-toggle="collapse" data-parent="accordion-87" href="#def-2" aria-expanded="false" aria-controls="def-2">btn2
                    </a>
            </div>
          </div>
        </div>
        <div id="def-1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-def">
          <div class="panel-body">
            test

          </div>
        </div>
        <div id="def-2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-def">
          <div class="panel-body">
    test2
          </div>
        </div>
      </div>
    </div>

示例 2 使用相同的面板组

js fiddle DEMO

<div data-quickedit-entity-id="paragraph/90" class="panel-group" id="accordion-90" role="tablist" aria-multiselectable="true" data-quickedit-entity-instance-id="0">
      <div class="panel panel-default consortia">
        <div class="panel-heading" role="tab" id="heading-tes">
          <div class="row panel-title">
            <div class="col-sm-12 col-offset-130">
              <a class="button collapsed" data-toggle="collapse" data-parent="accordion-90" href="#tes-1" aria-expanded="false" aria-controls="tes-1">btn1
                    </a>
              <a class="button collapsed" data-toggle="collapse" data-parent="accordion-90" href="#tes-2" aria-expanded="false" aria-controls="tes-2">btn2
                    </a>
            </div>
          </div>
        </div>
        <div id="tes-1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-tes" style="height: 1px;" aria-expanded="false">
          <div class="panel-body">
            <p>test1</p>

          </div>
        </div>
        <div id="tes-2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-tes" style="height: 1px;" aria-expanded="false">
          <div class="panel-body">
            <p>test2</p>

          </div>
        </div>
      </div>
      <div class="panel panel-default consortia">
        <div class="panel-heading" role="tab" id="heading-test2">
          <div class="row panel-title">
            <div class="col-sm-12 col-offset-130">
              <a class="button collapsed" data-toggle="collapse" data-parent="accordion-90" href="#test2-1" aria-expanded="false" aria-controls="test2-1">btn1
                    </a>
              <a class="button collapsed" data-toggle="collapse" data-parent="accordion-90" href="#test2-2" aria-expanded="false" aria-controls="test2-2">btn2
                    </a>
            </div>
          </div>
        </div>
        <div id="test2-1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-test2"  aria-expanded="false">
          <div class="panel-body">
            <p>test21</p>

          </div>
        </div>
        <div id="test2-2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-test2"  aria-expanded="false">
          <div class="panel-body">
            <p>test23</p>

          </div>
        </div>
      </div>
    </div>

下面的代码应该可以如您所愿地工作。

我认为它之前不起作用的原因是因为您在 "data-parent" 属性中没有 id 选择器。

 <div data-quickedit-entity-id="paragraph/90" class="panel-group" id="accordion-90" role="tablist" aria-multiselectable="true" data-quickedit-entity-instance-id="0">
      <div class="panel panel-default consortia">
        <div class="panel-heading" role="tab" id="heading-tes">
          <div class="row panel-title">
            <div class="col-sm-12 col-offset-130">
              <a class="button collapsed" data-toggle="collapse" data-parent="#accordion-90" href="#tes-1" aria-expanded="false" aria-controls="tes-1">btn1
                    </a>
              <a class="button collapsed" data-toggle="collapse" data-parent="#accordion-90" href="#tes-2" aria-expanded="false" aria-controls="tes-2">btn2
                    </a>
            </div>
          </div>
        </div>
        <div id="tes-1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-tes" style="height: 1px;" aria-expanded="false">
          <div class="panel-body">
            <p>test1</p>

          </div>
        </div>
        <div id="tes-2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-tes" style="height: 1px;" aria-expanded="false">
          <div class="panel-body">
            <p>test2</p>

          </div>
        </div>
      </div>
      <div class="panel panel-default consortia">
        <div class="panel-heading" role="tab" id="heading-test2">
          <div class="row panel-title">
            <div class="col-sm-12 col-offset-130">
              <a class="button collapsed" data-toggle="collapse" data-parent="#accordion-90" href="#test2-1" aria-expanded="false" aria-controls="test2-1">btn1
                    </a>
              <a class="button collapsed" data-toggle="collapse" data-parent="#accordion-90" href="#test2-2" aria-expanded="false" aria-controls="test2-2">btn2
                    </a>
            </div>
          </div>
        </div>
        <div id="test2-1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-test2"  aria-expanded="false">
          <div class="panel-body">
            <p>test21</p>

          </div>
        </div>
        <div id="test2-2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-test2"  aria-expanded="false">
          <div class="panel-body">
            <p>test23</p>

          </div>
        </div>
      </div>
    </div>