Javascript 正在复制的ajaxSubmit目标未被替换
我有以下代码:Javascript 正在复制的ajaxSubmit目标未被替换,javascript,jquery,ajax,ajaxform,Javascript,Jquery,Ajax,Ajaxform,我有以下代码: $('#refresh').click(function () { alert($('.report-container').length); $('.report-container').each(function () { var accordian = this; var url = $(this).children(':first-child').val(); $('form').ajaxSubmit
$('#refresh').click(function () {
alert($('.report-container').length);
$('.report-container').each(function () {
var accordian = this;
var url = $(this).children(':first-child').val();
$('form').ajaxSubmit({
url: url,
success: function (responseText, statusText, xhr, $form) {
$(accordian).html(responseText);
}
});
});
});
这基本上获取页面上的每个表格报告,并使用用户配置的表单刷新它们
我希望这将用从服务器下载的片段替换唯一的“.report container”元素。但是,每次运行时,都会调用警报($('.report container').length)代码>是否递增
这导致了各种各样的问题obv-我遗漏了什么
ftr我也尝试过在ajaxForm插件上使用target属性,结果也是一样的
我还可以确认服务器在片段中只响应一个“.report container”,因此它应该是1->1替换。要替换元素,请使用
html()
替换元素的内容。因此,更换后,您将获得:
<div class="report-container">
<div class="report-container">
....
</div>
</div>
....
如果您确实只有一个容器,它将被替换:
$('#refresh').click(function() {
var container = $('.report-container');
var url = container.children(':first-child').val();
$('form').ajaxSubmit({
url: url,
success: function(responseText, statusText, xhr, $form) {
container.replaceWith(responseText);
}
});
});
如果您希望扩展到多个,请保留/添加each,但将select缓存在“accordian”中:
$('#refresh').click(function() {
$('.report-container').each(function() {
var accordian = $(this);
var url = accordian.children(':first-child').val();
$('form').ajaxSubmit({
url: url,
success: function(responseText, statusText, xhr, $form) {
accordian.replaceWith(responseText);
}
});
});
});