使最后一个动态添加的手风琴打开

时间:2017-08-30 08:42:13

标签: jquery twitter-bootstrap bootstrap-4

我正在尝试以编程方式添加引导程序accordion,以便每次单击“添加”按钮时,都会生成新的手风琴并且前一个或任何其他手风琴关闭。我无法弄清楚如何使用methods的引导程序文档以及要通过的选项,我已经放置了一些但是它没有用。但

if(this.aCount === 1){
   $('.collapse').collapse('hide');
 }else if(this.aCount === 2){
   $('.collapse').collapse('hide');
   $('.collapse').collapse('show');
 }

问题是我对手风琴的身份是动态的,所以我不能使用它,但总的来说我的脚本会产生3个手风琴,并且每次添加一个新的手风琴时,我想打开最近添加的一个并关闭任何打开的手风琴。现在它打开了第一个。

2 个答案:

答案 0 :(得分:0)

这是我的工作jsFiddle,试试这个。我正在使用jquery toggle()方法在单击时打开和关闭每个div。然后我使用siblings()来调用相对div元素。

我这里没有使用bootstrap。 :) 希望这会对你有所帮助。

答案 1 :(得分:0)

您可以"委派活动"在jQuery中使用.on方法将事件绑定到动态创建的元素:

jQuery(document).on('click', '.collapse', function (e)
{
    // SOME .collapse WAS CLICKED!
    jQuery('.collapse').collapse('hide');
});

这样,每次点击.collapse元素时 - 即使该元素是动态创建的 - 所有其他元素也会关闭。