GVillani82 GVillani82 - 2 months ago 26
HTML Question

jQuery: deleting row in datatables

I'm using jquery datatables and I have some

<tr>
inside a table with the following structure:

<tr class="odd">
<td class=" sorting_1">0</td>
<td class=" ">2011</td>
<td class=" ">20</td>
<td class=" ">
<span class="btn-group">
<a class="del btn btn-small" href="#"><i class="icon-delete"></i></a>
</span>
</td>
</tr>


I writed the following jquery code for deleting the row associated to the button I click on.

$(".del").bind("click", function(event){
var target_row = $(this).parent().parent().parent();
var aPos = oTable.fnGetPosition(target_row); // the error occurs here!
oTable.fnDeleteRow(aPos);
});


but I obtain an error like this:

"TypeError: a.nodeName is undefined"
in jquery min script file.

EDIT:

Here the code for creating datatables:

if( $.fn.dataTable ) {
$(".mws-datatable").dataTable();
var oTable = $(".mws-datatable-fn").dataTable({
bRetrieve: true,
sPaginationType: "full_numbers"
});
}

Answer

I solved the problem using this code:

$(".del").bind( "click", function(event) {
    var target_row = $(this).closest("tr").get(0); // this line did the trick
    var aPos = oTable.fnGetPosition(target_row); 

    oTable.fnDeleteRow(aPos);
});