在jQuery UI的动态添加和清新的元素,折叠菜单(Dynamically adding and

2019-07-05 06:10发布

一些 问题在这里,从而可以参照这个开放的jQuery UI的功能要求进行动态地从折叠菜单添加/删除面板的能力。 本身被标记的票(闭功能:固定),并从我可以从告诉单元测试从他们的Git仓库和拉它出现在最新的版本中实现。

不过,如果我尝试,就像他们在上面的单元测试确实添加了一个div:

var element = $("#accordion");
$("#accordion").append("<h3>3</h3><div>3</div>");
$("#accordion").accordion("refresh");

我无法得到它的工作。

但是这种方法的工作原理:

$("#accordion").append("<h3>sec</h3<div>test</div>").accordion("destroy").accordion();

但我不希望“消灭”手风琴,我只是想追加(或前置)的元素,并刷新。

看着我在Chrome的检查添加的格显示,我加不具有相同的CSS样式元素添加为手风琴的其余部分:

Answer 1:

unibasil是正确的,jQuery UI的1.10.0已经更新了刷新方法现在允许这种行为。

这里的1.10.0 更新日志有关更新的音符。

刷新方法现在认识到,已添加或删除面板。 这带来了手风琴的标签页和解析标记找到变化的其他部件线。

建立

<div class="questions">
    <div>
        <h3><a href="#">Question 1. My First Question ?</a></h3>
        <div>
            First content<br />
        </div>
    </div>
</div>
<div>
    <button id="addAccordion">Add Accordion</button>
</div>

使用Javascript

$('#addAccordion').click( function() {
    var newDiv = "<div><h3>Q2 New Question</h3><div>New Content</div></div>";
    $('.questions').append(newDiv)
    $('.questions').accordion("refresh");        
});

的jsfiddle表明你可以在飞行中增加新的手风琴,而不必摧毁旧的。



Answer 2:

感谢亚雷克 ! 在我的情况是它的功能没有封闭格。 股利导致产生下一个手风琴。

$('#addAccordion').click( function() {
  var newDiv = "<h3>Q2 New Question</h3><div>New Content</div>";
  $('.questions').append(newDiv)
  $('.questions').accordion("refresh");
});    


Answer 3:

其实讨论的行为被列入jQuery用户界面1.10.0(刚刚发布 ),并为我工作得很好。



文章来源: Dynamically adding and refreshing elements to the Accordion widget in jQuery UI