Ehhez kell egy kis segítség. Egy törlési képre kattintok, amely az egyik sor cellájában található. Miután rákattintottam a törlési képre, egy modális megerősítést kérő mezőnek kell megjelennie, amely a sor törlésének megerősítését kéri. Nos, a funkció működik, de a modális megerősítő mező nem jelenik meg első kattintásra a kép törlésére, de megjelenik a második kattintásra. A console.log-ot írtam, amikor a képre kattintanak - minden alkalommal naplózza, amikor a képekre kattintanak - De a megerősítő mező nem jelenik meg először. A megerősítő doboz logikája nélkül, ha a kép törlésére kattintok, a sor csak az első kattintásra törlődik.
Íme a kód:
$('#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');
}
});
});
Kérem, segítsen! Kösz!
.live()
függvényen kívül kell elhelyezni. A.live()
helyett használhatja a.on()
értéket is. 16.07.2012