使用jquery将项添加到jQuery Accordion

esp*_*akk 46 ajax jquery-ui jquery-ui-accordion

我正在使用jQuery手风琴插件制作一些手风琴的数据.然后我希望用户能够向手风琴添加更多数据.我已经设置了手风琴以便正常工作,然后我已经创建了一个函数,为手风琴前置一个匹配手风琴语义的"列表项".

是否可以"更新"手风琴以使其与新添加的元素一起使用,而无需将新数据保存到数据库并刷新页面?

像这样的东西:

.accordion('refresh')
Run Code Online (Sandbox Code Playgroud)

或者类似于jQuery 1.3中添加的直播活动,任何人都有线索?

Jim*_*nke 100

我没有测试过,但这应该可行:假设你的手风琴有id #accordion

$('#accordion').append('<h3><a href="#">New Paragraph</a></h3><div><p>New data</p></div>')
    .accordion('destroy').accordion();
Run Code Online (Sandbox Code Playgroud)

基本上,只需破坏并重新创造手风琴.

更新:

由于编写了这个答案,因此在accordion小部件中添加了refresh()方法.它可以通过调用来调用:

$( ".selector" ).accordion( "refresh" );
Run Code Online (Sandbox Code Playgroud)

您可以在此处详细了解此方法


Wes*_*ley 8

要添加新部分,并保持旧部分处于活动状态:

var active = $('#accordion').accordion('option', 'active');
$('#accordion').append('<h3><a href="#">New Paragraph</a></h3><div><p>New data</p></div>')
    .accordion('destroy').accordion({ active: active});
Run Code Online (Sandbox Code Playgroud)


小智 6

正如Shahzad上面提到的,jQuery UI 1.10使这变得更容易; 看文档.