循环遍历表行,获取总计和更新行

时间:2015-03-10 10:54:20

标签: javascript jquery

我知道问题是什么,但我不确定如何修复它。

循环遍历每个tr,然后发布到url以检索总数,当post返回值时,循环已到达表中的最后一个tr。

因此,当.done回调发生时,$ tr引用表中的最后一行。

引用帖子调用的原始$ tr的最佳方法是什么?

        $div.find('table tbody tr').each(function() {
            $tr = $(this);
            associationId = $tr.data('id');

            $.post(settings.UrlFetch, {competition_id: settings.CompetitionId, association_id: associationId})
                .done(function (res) {

                    if (res.success) {
                        $tr.find('.total').html('$' + Number(res.data.total).toFixed(2));
                    } else {
                        alert(res.errors);
                    }
                })
                .fail(function (res) {
                   alert("Unknown Error Occurred");
                });

        });

1 个答案:

答案 0 :(得分:1)

问题是你使用的全局变量$treach回调的每次迭代中被覆盖,你需要使用一个闭包变量(通过使用{{声明$tr 1}})在每次回调调用中都有var的本地实例

$tr