我使用AJAX从jQuery Datatable中删除特定的行。这些行在第10列中的值为0(如果我们从0开始计数)。您可以在下面看到我的代码。出于某种原因,它不会删除任何行。我检查了aData [10] =>的值在某些行中它定义为等于0。
$(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;
}
});
更新
当我这样做时:
'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语句返回false。但为什么???
![在此处输入图片说明] [1]
答案 0 :(得分:0)
这可能是打字问题。尝试将列值转换为这样的整数:
if (parseInt(aData[10], 10) === 0) {
$(nRow).remove();
}