解決策を探しています: 私のアプリケーション内のテーブルの内容を更新する関数があります。私はテーブルの行を更新しています別の関数で別のAjax関数が終了した後にアクションを実行します。
function prev_update(cli_id){
$("#list").empty();
$("#list").append("<tr><td colspan=11><img src='images/loading.gif' alt=loading title=loading /></td></tr>");
$.ajax({
type : 'POST',
url : 'json/get.php?t=2&id='+cli_id,
dataType : 'json',
encode : true
})
.done(function(data) {
$("#list").empty();
if ((data)["prev_list"]) {
$.each((data)["prev_list"], function(i, val) {
$("#list").append(val);
});
$("#edit").hide("slow");
} else {
$("#list").append("<tr><td colspan=11> </td></tr>");
}
});
};
、私はテーブルの行の内容を編集し終えたとき、私は同様の機能を起動しますが、行の.doneに私はprev_update関数を呼び出すと、これは私が更新されたテーブルの内容のボタンをプッシュする必要が終了した後、審査のための修正が... はここのコードです:
$("#prev_mod").on("click",(function(event) {
$('#loading_img').css('display','inline');
header_print();
$.ajax({
type : 'POST',
url : 'json/post.php?mod='+$('#prev_id').val(),
data : $("#form_sog").serialize(),
dataType : 'json',
encode : true
})
.done(function(data) {
if ((data)["success"]===false) {
$('#form_edit').hide('slow');
prev_update();
$('#edit_'+$('#prev_id').val()).click();
});
});
}));
私はprev_update()関数が終了したとき、その後ので、ボタンをクリック待たなければなりませんボタンは更新中のテーブルにあります。 遅延オブジェクトも使用しようとしましたが、動作しません(おそらく私のエラーです)。 関数prev_updateは他の関数で使用されているため編集できません。
あなたは「prev_update()関数が終了する」と言う、まさにあなたは意味ですか?アニメーションが完成していることを意味するのか、それとも実行されただけで何が始まったのかを意味していますか?そして、 'prev_update()'がそれ自体を無条件に呼び出すので、あなたは無限のサイクルで終わらないのですか? – jfriend00
私が投稿した2番目のコードは別の関数からのものです。 私は関数が終了したときに、関数が開始したすべてのプロセス(Ajaxリクエストや他のアニメーション)を完了したことを意味します。 – DellaeMme