ブートストラップ モーダルを使用してユーザーを削除するために ajax 呼び出しを実行しようとしています。モーダルは確認目的で使用され、次のとおりです。
<!-- Modal -->
<div id="deleteModal" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Delete user</h3>
</div>
<div class="modal-body">
<p>You are about to delete this user. Are you sure that you want to continue?</p>
</div>
<div class="modal-footer">
<button id="confirm" class="btn btn-primary">Yes</button>
<button id="cancel" class="btn" data-dismiss="modal" aria-hidden="true">No, leave</button>
</div>
</div>
次に、次のJavaScriptを使用してユーザー入力を処理しています
$('a#delete').click(function(e){
var anchor = this;
$('#deleteModal').modal('show');
$('button#confirm').click(function(e){
$('#deleteModal').modal('hide');
$.ajax({
url: $(anchor).attr('href'),
success:function(result){
$(anchor).closest('tr').addClass("error");
$(anchor).closest('tr').delay(2000).fadeOut();
}});
});
return false;
});
ユーザーがクリックしなければならないリンクはこのようなものです
<a id="delete" href="/admin/edit/user/delete/30" class="btn btn-danger" user="30"><i class="icon-trash"></i> Delete</a>
それは機能しますが、何か奇妙なことが起こることに気付きました。クリックして 1 人のユーザーを削除し、モーダルからアクションをキャンセルしてから、アクションを確認して別のユーザーを削除することを選択すると、両方のユーザーが削除されます。
私が宣言したルールは、セッション中にクリックされたオブジェクトにも適用されると思います。これを回避する方法はありますか?