2017-01-19 13 views
1

いくつかの条件に基づいてデータテーブルから行を削除/削除しようとしています。私は次のコードを試しました。条件に基づいてjqueryデータテーブルの行を削除または削除する方法

rowCallback: function (row, data, index) { 
       if (data["ServiceID"] == 0) { 
        $(row).remove(); 
       } 
      }, 

これはうまくいかないようです。 $(row).hide()は正常に動作していますが、行を非表示にしても、データテーブルから削除または削除されません。

答えて

1

この関数は行を削除せず、内部をnullに設定するだけです。作成要素は(初期化)しながら、

$(row).html("");// not deleting setting inside null. 

あなたが行それ自身を削除することはできませんが、あなたはヌルとして設定することができ、この方法を使用することができます。初期化後に削除したい場合は、これを行うことができます:

1)削除されたアイテムは、それらを配列内に追加します。

2)initializonの後、remove()関数でデータテーブルから削除し、draw関数を使用してテーブルの内容を再描画します。

又は

別の方法は、以前は、データテーブル作成unasked DATASを除去します。

+0

私はTypeError例外を示す$(行).delete()しようとしました:$(...)を削除機能のエラーではありません。私はrowCallbackで条件を使用しています –

0

あなたが削除した後、あなたはあなたがfnGetPosition機能と一緒にfnDeleteRow機能を使用することができ、テーブルに

$(document).ready(function() { 
    var table = $('#example').DataTable(); 

    $('#example tbody').on('click', 'tr', function() { 
     if ($(this).hasClass('selected')) { 
      $(this).removeClass('selected'); 
     } 
     else { 
      table.$('tr.selected').removeClass('selected'); 
      $(this).addClass('selected'); 
     } 
    }); 

    $('#button').click(function() { 
     table.row('.selected').remove().draw(false); 
    }); 
}); 

チェックのDataTableをredrawする必要がある行docsまたはjsfiddle

関連する問題