Pat*_*ihy 2 javascript jquery dialog jquery-ui modal-dialog
我有一个数据表设置(http://datatables.net/),并且我试图选择从表中删除一行,并具有一个jQuery对话框模式弹出窗口进行确认。但是,该模式可以在表的第一页上正常工作,但是当表转到第二页时,该模式将停止工作。我的猜测是,当表分页到接下来的10个条目时,发生了一些事情,从而删除了对话框的click调用。
这是我的模态代码:
$('#delete-dialog').dialog({
autoOpen: false,
width: 400,
modal: true
});
$('.delete_modal').click(function (e) {
e.preventDefault();
var targetUrl = $(this).attr("href");
$('#delete-dialog').dialog({
buttons: {
"Delete": function() {
window.location.href = targetUrl;
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
$('#delete-dialog').dialog("open");
});
Run Code Online (Sandbox Code Playgroud)
这是我的模态代码:
<div id="delete-dialog" title="Remove User">
<p>Are you sure you want to delete this user?</p>
</div>
Run Code Online (Sandbox Code Playgroud)
知道为什么它在表格的第一页上有效,但在第二页上无效吗?
这是我的删除代码:
<li><a href="?page=users&sub=admins&action=delete&id=<?=$row['id']?>" class="delete_modal"><span class="icos-trash"></span>Delete</a></li>
Run Code Online (Sandbox Code Playgroud)
我的猜测是您正在加载尚未与jquery绑定的新元素。您可以像这样将新元素绑定或将处理程序附加到您的.delete_modal类。
$("body").on("click", ".delete_modal", function (e) {
e.preventDefault();
var targetUrl = $(this).attr("href");
$('#delete-dialog').dialog({
buttons: {
"Delete": function() {
window.location.href = targetUrl;
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
$('#delete-dialog').dialog("open");
});
Run Code Online (Sandbox Code Playgroud)