我正在运行一个更新表上记录的循环,但我需要等待所有记录更新才能继续.
我怎样才能让jquery等到loopselectedrows函数中的所有调用完成?我读过.deferred和.when,但我不知道如何实现.他们似乎都无法处理一系列的调用,如果我在哪里切换到使用ajax帖子的数组.任何帮助将不胜感激.
这是启动它的按钮:
click: function () {
// validate all rows
var $selectedRows = $('#Table1').jtable('selectedRows');
LoopSelectedRows($selectedRows, 'Validate');
Run Code Online (Sandbox Code Playgroud)
///等待所有ajax调用完成//然后继续检查
// check for any row with an error
var $ValidatedRows = $('#Table1').jtable('selectedRows');
var boolCheck = checkValidatedRows($ValidatedRows);
// if all records are succesfull then add them
// else alert user
if (boolCheck == true) {
LoopSelectedRows($selectedRows, 'Add');
}
else {
alert("Please correct invalid records and try again");
}
}
Run Code Online (Sandbox Code Playgroud)
这样做的第一件事是从表中获取所有记录并将它们传递给循环函数.
这是循环函数 -
function LoopSelectedRows(SelectedRecords, actionType) {
if (SelectedRecords.length > 0) {
//Show selected …Run Code Online (Sandbox Code Playgroud)