DataTablesを使用して行データを表示しています。右側の最後の列には、編集用と削除用の2つの画像があります。クリックイベントをトラップするために、私は以下を使用します。
$('#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();
});
[キャンセル]をクリックするとボックスは消えますが、ページはまだグレー表示されてロックされているため、コールバック部分について混乱しています。私がやりたいのは、ユーザーが[キャンセル]をクリックして終了し、通常に戻る場合です。ユーザーが[OK]をクリックすると、varrowIDをファイル"delete_row.php"に渡す必要があります...しかし、これはの新しい領域です。 me ..単純なhtmlリンクの場合、.valを取得して実行できますが、DataTablesにはそのオプションがありません。
ここの誰かが私を正しい方向に向けることができますか?私はこれをグーグルで検索しましたが、使用要件に関する情報を見つけることができません。