我正在尝试创建一个jQuery弹出窗口来删除表中的记录。
以下是我要做的事情:
echo '<div id="dialog-confirm">'.'<td>' . '<input type="image" src="delete.png" id = "deleteconfirm" style = "height:20px;margin-left :8px;" onclick = "deleterecord('.$row['id'].')">' . '</td>'.'</div>';
这是我的功能:
function deleterecord ( id ) {
function fnOpenNormalDialog() {
$("#dialog-confirm").html("Confirm Dialog Box");
// Define the Dialog and its properties.
$("#dialog-confirm").dialog({
resizable: false,
modal: true,
title: "Modal",
height: 250,
width: 400,
buttons: {
"Yes": function () {
$(this).dialog('close');
callback(true);
},
"No": function () {
$(this).dialog('close');
callback(false);
}
}
});
}
$('#deleteconfirm').click(fnOpenNormalDialog);
function callback(value) {
if (value) {
window.location.href = 'delete_ven.php?id=' + id;
} else {
alert("Rejected");
}
}
}
有任何帮助吗?它不起作用。
答案 0 :(得分:2)
您的回调方法无法获取有关行ID的任何信息。例如,您可以更改以下行:
callback(true);
到
callback(id);
和
window.location.href = 'delete_ven.php?id=' + id;
到
window.location.href = 'delete_ven.php?id=' + value;
编辑:另外删除包含&#34; fnOpenNormalDialog&#34;的所有行。并相应地修复代码。 click事件已经在html中分配,而函数内部的函数并不意味着以这种方式工作。