Php 使用AJAX删除表行

Php 使用AJAX删除表行,php,javascript,jquery,ajax,datatables,Php,Javascript,Jquery,Ajax,Datatables,我正在使用AJAX从jQuery数据表中删除特定的行。这些行在第10列中的值为0(如果我们从0开始计数)。下面你可以看到我的代码。出于某种原因,它不会删除任何行。我检查了aData[10]=>的值,它在某些行中肯定等于0 $(document).ready(function(){ $('#newspaper-b').dataTable({ "sPaginationType":"full_numbers", "aaSorting

我正在使用AJAX从jQuery数据表中删除特定的行。这些行在第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;
                }
'fnRowCallback': function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
                  if (parseInt(aData[10], 10) === 0) {
var r=confirm(aData[10]);
                        $(nRow).remove();
                    }
                    return nRow;
            }
…然后我可以看到其中一行有0。 但当我这么做的时候:

'fnRowCallback': function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
                      var r=confirm(aData[10]);
                  if (parseInt(aData[10], 10) === 0) {
                        $(nRow).remove();
                    }
                    return nRow;
                }
'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]

这可能是打字问题。尝试将列值转换为如下所示的整数:

if (parseInt(aData[10], 10) === 0) {
    $(nRow).remove();
}

如果(!aData[10]),你就不能这样做吗?我认为
==
所暗示的类型强制意味着你的代码比OP的限制性更强,而不是更少…@DaveRandom:不,不,不是如果(!aData[10])。那是肯定的。我可以非常清楚地看到:)猜测一下,这些行中的值是0,带有前导/尾随空格-请尝试
if(aData[10]。替换(/(^\s+\s+$)/g',)==“0”){/…
在MySQL DB中,此列的值为smallint(6).我检查了你的假设。没有结果。这是一个错误。我不再知道了。你能展示一下如果你将第一个编辑示例中的
confirm()
更改为
confirm(aData[10]+(typeof aData[10]),会发生什么吗
@DaveRandom:It out:1,string。不幸的是,我不能发布警报框图像,因为我是一个新用户,但我想这个信息(1,string)就足够了。它说的是
1
?我想它说的是
0