Я использую AJAX для удаления определенных строк из jQuery Datatable. Эти строки имеют значение 0 в 10-м столбце (если мы начнем отсчет с 0). Ниже вы можете увидеть мой код. По какой-то причине он не удаляет строку. Я проверил значение aData [10] => он определенно равен 0 в некоторых строках.Удалить строки таблицы с помощью AJAX
$(document).ready(function(){
$('#newspaper-b').dataTable({
"sPaginationType":"full_numbers",
"aaSorting":[[4, "asc"]],
"aoColumns": [null,null,null,null,null,null,null,null,null,null,
{"bSearchable": true, "bVisible": false},null,null],
"bJQueryUI":true,
'fnRowCallback': function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
if(aData[10]=="0"){
$(nRow).remove();
}
return nRow;
}
});
UPDATE
Когда я делаю это:
'fnRowCallback': function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
var r=confirm(aData[10]);
if (parseInt(aData[10], 10) === 0) {
$(nRow).remove();
}
return nRow;
}
... то я могу видеть, что одна из строк имеет 0. Но когда я делаю это:
'fnRowCallback': function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
if (parseInt(aData[10], 10) === 0) {
var r=confirm(aData[10]);
$(nRow).remove();
}
return nRow;
}
... тогда предупреждение JS-сообщения (то есть var r=confirm(aData[10])
) не появляется, что означает, что оператор IF возвращает f Alse. НО ПОЧЕМУ???
! [Введите описание изображения здесь] [1]
На предположение, значение в этих строках равно 0 с ведущим/задней пробельных - попробовать ', если (ADATA [10] .Надеть (/ (^ \ S + | \ s + $)/g, '') === "0") {// ... ' – DaveRandom
В MySQL DB этот столбец имеет значение smallint (6). Я проверил ваше предположение. Безрезультатно. Это мистерия. Я понятия не имею. – Gusgus
Можете ли вы показать, что произойдет, если вы измените 'confirm()' в своем первом примере редактирования, чтобы подтвердить (aData [10] + (typeof aData [10])), ' – DaveRandom