调用bootstrap collapse('show')仅在第一次隐藏元素

时间:2014-02-27 10:49:06

标签: javascript jquery twitter-bootstrap twitter-bootstrap-2

我正在使用带有折叠元素的Bootstrap v2.3.2。

我的手风琴看起来像这样:

<div class="accordion" id="accordion">
        <div class="accordion-heading">
             <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
               <strong><i class="icon-chevron-down"></i>Search options</strong>
             </a>
        </div>
        <div id="collapseOne" class="accordion-body collapse in">
            <div class="accordion-inner">
                Hello
            </div>
        </div>
    </div>
</div>

如果我通过点击它折叠元素#collapseOne,没问题。

但是如果我调用函数$("#collapseOne").collapse('show');,元素将隐藏,除了显示,但仅在第一次调用时,并且只有在我没有折叠元素之前点击它。我想我忘记了一个HTML元素,但我看不出任何与DOM有任何区别......

Fiddle :点击“点击我”按钮,而不点击之前的折叠元素。


已经尝试:添加$ accordion.collapse({toggle:true})(https://github.com/twbs/bootstrap/issues/5859)但它没有用...

2 个答案:

答案 0 :(得分:2)

$accordion.collapse({toggle:false})修复了切换问题,但错误的元素。

您需要修复#collapseOne

$("#collapseOne").collapse({toggle:false});

<强> FIDDLE

答案 1 :(得分:0)

我在我的模板中为我的解决方案解决了这个问题......就像那样:

$(document).ready(function() {
    $(".panel-body").collapse({ 'toggle': false });
});