需要一些帮助。我点击了删除图像,该图像存在于其中一行的单元格中。单击删除图像后,应该有一个模态确认框,要求用户确认删除行。好吧,功能正常,但模态确认框不会在第一次点击删除图像时显示 - 但会在第二次点击时显示。单击图像时我编写了console.log - 每次单击图像时都会记录 - 但确认框不会第一次显示。如果没有确认框逻辑,如果单击删除图像,则仅在第一次单击时删除该行。
以下是代码:
$('#example.display tbody tr td img#delete').live('click', function(){
console.log("Delete clicked");
var oTable = $('#example').dataTable();
var nRow = $(this).closest("tr").get(0);
var aData = oTable.fnGetData(nRow);
("#DeleteConfirmationModalWindow").html('<h6>'+'Are you sure you wish to delete order:'+'<br />'+aData[0]+'?'+'</h6>');
$("#DeleteConfirmationModalWindow").dialog('open');
$("#DeleteConfirmationModalWindow").dialog({
title: "Delete Confirmation",
autoOpen: false,
dialogClass: "DeleteConfirmationModalWindow",
closeOnEscape: false,
draggable: false,
width: 400,
height: 200,
modal: true,
buttons: {
"Yes, I'm sure": function() {
$( this ).dialog( "close" );
console.log("Delete");
deleteDatabaseRow(oTable, nRow);
oTable.fnDeleteRow(nRow);
},
Cancel: function() {
$( this ).dialog( "close" );
console.log("No delete");
}
},
resizable: false,
open: function() {
$('body').css('overflow','hidden');
},
close: function() {
$('body').css('overflow','auto');
}
});
});
请帮忙!谢谢!
答案 0 :(得分:1)
您的代码中存在错误。在创建对话框之前,您正在调用$("#DeleteConfirmationModalWindow").dialog('open');
。
首先,移除$("#DeleteConfirmationModalWindow").dialog('open');
和您的autoOpen: false
选项,告诉我它是否有效。
.live
,请参阅Here。只需使用.click
代替。