У меня есть JQuery Datatable, и я динамически добавляю строки. В каждой строке есть ячейка, в которой есть кнопка удаления. Моя проблема в том, что я не могу удалить строки кнопками, и мне даже не удается нацелиться на текущую строку.
Вот мой код DataTable:
var tab_presta = $("#tableau_presta").DataTable({
"searching": false,
"paging": false,
"ordering": false,
"info": false,
responsive: true,
"language": {
"emptyTable": "No product added to the contract for the moment."
}
});
Вот как я создаю кнопки в каждой строке (для события отправки):
form2.on('submit', function (event) {
tab_presta.row.add(
[
'<center><button type="button" id="btn_supp' + (++idCount) + '" onclick="alert(this.parentNode)" class="btn btn-xs btn-block btn-danger confirmation">Delete</button></center>'
]
)
.draw( false );
// here I dynamically add an id to each button based on a variable
$('.btn btn-xs btn-block btn-danger confirmation').each(function() {
$(this).attr('id', 'suppr' + idCount);
idCount++;
});
});
А вот мой код для удаления при нажатии на каждую кнопку:
for (j = 0; j <= btn_count; j++) {
$("#tableau_presta").on("click", btn_supp[j], function(){
//tab_presta.row($(this).parents('tr')).remove().draw(false);
var row = $(this).closest("tr");
console.log(row);
});
}
Как видите, я прокомментировал часть remove (), потому что она не работает, поэтому я попытался найти ближайший tr
из $(this) (button)
, но в результате я не получил строку в консоли , Она пуста, и я не понимаю почему, потому что кнопка действительно существует, и я могу получить ее идентификатор, когда нажимаю на нее, если я поставлю onclick"alert(this.id)
.
Есть идеи?