我是一个新手并且有一个问题导致了一些脱发..原谅我,如果这看似简单或愚蠢的问题..
我使用DataTables显示行数据,右边的最后一列有2个图像,一个用于编辑,一个用于删除。为了捕获我使用的click事件:
$('#datatable tbody tr a.delete img').live( 'click', function () {
});
一位朋友(目前不在城里)给了我这个代码试试..
function fancyAlert(msg) {
jQuery.fancybox({
'modal' : true,
'content' : "<div style=\"margin:1px;width:240px;\">"+msg+"<div style=\"text-align:right;margin-top:10px;\"><input style=\"margin:3px;padding:0px;\" type=\"button\" onclick=\"jQuery.fancybox.close();\" value=\"Ok\"></div></div>"
});
}
function fancyConfirm(msg,callback) {
var ret;
jQuery.fancybox({
modal : true,
content : "<div style=\"margin:1px;width:240px;\">"+msg+"<div style=\"text-align:right;margin-top:10px;\"><input id=\"fancyConfirm_cancel\" style=\"margin:3px;padding:0px;\" type=\"button\" value=\"Cancel\"><input id=\"fancyConfirm_ok\" style=\"margin:3px;padding:0px;\" type=\"button\" value=\"Ok\"></div></div>",
onComplete : function() {
jQuery("#fancyConfirm_cancel").click(function() {
ret = false;
jQuery.fancybox.close();
})
jQuery("#fancyConfirm_ok").click(function() {
ret = true;
jQuery.fancybox.close();
})
},
onClosed : function() {
callback.call(this,ret);
}
});
}
function fancyConfirm_text() {
fancyConfirm("Ceci est un test", function(ret) {
alert(ret)
})
}
当我使用它时会起作用:
`$('#datatable tbody tr a.delete img').live( 'click', function () {
if (!fancyConfirm("Are you sure you want to delete this record?"))
e.preventDefault();
});`
我对回调部分感到困惑,因为当我点击“取消”时,该框会消失,但页面仍然是灰色并锁定。我想要做的是,如果用户单击取消结束并恢复正常,如果用户单击“确定”,那么我需要将var rowID传递给文件“delete_row.php”...但这是新的领域我..如果它是一个简单的HTML链接,我可以得到.val并完成但在DataTables我没有那个选项..
这里有人能指出我正确的方向吗?我已经用谷歌搜索了它,但我无法找到有关我的使用要求的信息。
答案 0 :(得分:1)
fancyConfirm
函数期待回调函数,如果没有给出fancybox onclosed
事件中的错误,可能会解释为什么它会保持灰色。
尝试将通话更改为:
fancyConfirm("Are you sure you want to delete this record?", function(ret) { })