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);
            }
        });
    });
});