0

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;
                }

...次に、行の 1 つに 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]

4

1 に答える 1

0

これはおそらく入力の問題である可能性があります。次のように、列の値を整数に変換してみてください。

if (parseInt(aData[10], 10) === 0) {
    $(nRow).remove();
}
于 2012-05-26T22:36:08.123 に答える