Ajax 根据jQuery向jQuery添加项

Ajax 根据jQuery向jQuery添加项,ajax,jquery-ui,jquery-ui-accordion,Ajax,Jquery Ui,Jquery Ui Accordion,我正在使用jqueryaccordion插件制作一些数据的手风琴。然后我希望用户能够向手风琴添加更多数据。我已经将手风琴设置为正常工作,然后我制作了一个函数,为手风琴添加一个与手风琴语义匹配的“列表项” 是否可以“更新”accordion,使其与新添加的元素一起工作,而无需将新数据保存到数据库并刷新页面 大概是这样的: .accordion('refresh') 或者类似于jQuery 1.3中添加的live事件,有人有线索吗?您可能想看看LiveQuery插件: 它允许您在加载DOM后添加事

我正在使用jqueryaccordion插件制作一些数据的手风琴。然后我希望用户能够向手风琴添加更多数据。我已经将手风琴设置为正常工作,然后我制作了一个函数,为手风琴添加一个与手风琴语义匹配的“列表项”

是否可以“更新”accordion,使其与新添加的元素一起工作,而无需将新数据保存到数据库并刷新页面

大概是这样的:

.accordion('refresh')

或者类似于jQuery 1.3中添加的live事件,有人有线索吗?

您可能想看看LiveQuery插件:


它允许您在加载DOM后添加事件和绑定。

我还没有测试过它,但这可能会起作用: 说你的手风琴有id#手风琴

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

您可以阅读有关此方法的更多信息

以添加新节,并保持旧节处于活动状态:

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});
var active=$('#accordion')。accordion('option','active');
$(“#手风琴”)。追加(“新数据”

”) .accordion('destroy')。accordion({active:active});
因为我需要一个可以工作的添加/编辑/删除vor手风琴项目,所以我就为了这个目的黑了这个小javascript函数

h3和div需要一个符合以下约定的唯一id

<h3 id="divname_hitm_<uniquenumber>"><h3>

相应的div需要以下内容

<div id="divname_ditm_<samenumber as h3"></div>

手风琴码块示例

<div id="divname">
    <h3 id="divname_hitm_1><a href="#">Section 1</h3>
    <div id="divname_ditm_1>
        <p>Section 1 Payload</p>
    </div>
    <h3 id="divname_hitm_2><a href="#">Section 2</h3>
    <div id="divname_ditm_2>
        <p>Section 2 Payload</p>
    </div>
</div>

第1节有效载荷

第2节有效载荷


祝你玩得开心,也许这对一些人有帮助

正如Shahzad前面提到的,jQueryUI1.10使这变得更容易;看到了。

谷歌搜索了大约十分钟,然后想看看这里。谢谢你——这帮我搞定了。一个问题!我正在动态添加一个部分,但当我重新创建手风琴时,它会再次打开第一个部分。我有没有办法阻止它这样做,并保留先前扩展的部分?再次感谢。是的,与DanyW相同的问题,此代码将打开第一个部分。现在我已经一年没有使用此代码了,但您可以使用的一种方法是命名这些部分(我认为如果您在标题中编写
并添加
{navigation:true},而不是
,应该可以使用此代码)
对于您的选择,这对我来说很好。是否可以添加一些动画/效果,以进一步向用户强调手风琴已经更新?jquery 1.10此功能是否正常工作。以防3年后您仍然无法解决此问题
<div id="divname">
    <h3 id="divname_hitm_1><a href="#">Section 1</h3>
    <div id="divname_ditm_1>
        <p>Section 1 Payload</p>
    </div>
    <h3 id="divname_hitm_2><a href="#">Section 2</h3>
    <div id="divname_ditm_2>
        <p>Section 2 Payload</p>
    </div>
</div>