2017-12-12 52 views
1

すべての列に対して、自分のデータテーブルMS-crmのようなもの(含まれていますが含まれていません。datatables.net複数の列のカスタムフィルタ

私はそれを、それがこの例で説明したような方法を試してみた

http://legacy.datatables.net/release-datatables/examples/plug-ins/range_filtering.html

問題は、このフィルタは唯一(1列分)現在の列のために働くということですが、私は列A用のIFフィルタようにその後、私は列Bのフィルタも、列Aのフィルタは、obsolateです。

私はoTable.draw()と呼び出すたびに、現在の列に対して再度フィルタリングされます。

私は何が間違っていますか?

答えて

1

あなたの例はjQuery DataTablesの古いバージョンです。現在のバージョンについては、this exampleを参照してください。

機能の配列として$.fn.dataTableExt.afnFiltering(または$.fn.dataTable.ext.search)を処理します。まず配列をリセットし、必要な数の関数を追加してからdraw() APIメソッドを呼び出します。例えば

var table = $('#example').DataTable(); 

// Handle click on "Search" button 
$('#btn-search').on('click', function(){ 
    // Reset custom search 
    $.fn.dataTable.ext.search = []; 

    // Add search criteria for column 1 
    $.fn.dataTable.ext.search.push(
     function(settings, data, dataIndex){ 
     // ... skipped ... 

     return (success) ? true : false; 
     } 
    ); 

    // Add search criteria for column 2 
    $.fn.dataTable.ext.search.push(
     function(settings, data, dataIndex){ 
     // ... skipped ... 

     return (success) ? true : false; 
     } 
    ); 

    // Perform the search 
    table.draw(); 
}); 
関連する問題