我在jQuery中有以下代码
$.when($("#tbl").block({ message: 'Loading...' })).done(
$("#tbl > tbody > tr").each(function (i) {
var cost = $(this).find("#Cost_" + i + "__Cost").val();
$(this).find("#Cost_" + i + "__Cost").val(cost).change();
}));
我试图先阻塞,然后将表格中一个单元格的值复制到另一个单元格,直到完成复制。但是一些原因阻止仅在循环结束后才起作用。
在这种情况下,如何在进入循环之前阻止?
TIA
答案 0 :(得分:1)
.block()
是同步的,因此您不希望在此处使用$.when()
。
尝试:
$("#tbl").block({ message: 'Loading...' });
$("#tbl > tbody > tr").each(function (i) {
var cost = $(this).find("#Cost_" + i + "__Cost").val();
$(this).find("#Cost_" + i + "__Cost").val(cost).change();
});
$("#tbl").unblock();