我有一个在模态窗口内打开的手风琴。手风琴不再有效,因为我现在动态地为模态创建内容,之前,数据在我的HTML中进行了硬编码,所以一切都按预期运行。
这就是我现在用于AJAX调用的内容:
...
success : function(data)
{
$('<div/>', {
id:'modal'
}).html(data).appendTo('body');
$('#modal').popup({
autoopen : true,
});
},
这是对手风琴的呼唤:
$('.accordion').accordion({
collapsible: true
});
模态窗口打开没问题,但手风琴不会折叠或打开。我还可以看到没有与手风琴有关的事件,在变化之前,还有。
因为我的模态的内容现在是动态创建的,有没有办法让手风琴再次运作?
答案 0 :(得分:1)
每次进行编辑时都必须刷新手风琴。
$('.accordion').accordion("refresh");
答案 1 :(得分:0)
这可能是因为当你做$('。accordion')。accordion({...,你没有“.accordion”类,因为AJAX还没有完成,你在非non上设置了accordion现有的类。它与jquery中的click事件类似。快速的解决方法是在AJAX的“成功”功能中设置你的手风琴。喜欢这个:
success : function(data)
{
$('<div/>', {
id:'modal'
}).html(data).appendTo('body');
$('.accordion').accordion({
collapsible: true
});
$('#modal').popup({
autoopen : true,
});
},
或者像Eddie说的,你可以使用$('。accordion')。accordion(“refresh”);,喜欢这个:
success : function(data)
{
$('<div/>', {
id:'modal'
}).html(data).appendTo('body');
$('.accordion').accordion("refresh");
$('#modal').popup({
autoopen : true,
});
},
将它放在html(数据)之后是非常重要的.appendTo('body');.我希望我能帮助理解这个问题。