datatables.net自定义过滤器,用于多个列

时间:2017-12-12 15:23:32

标签: jquery datatables

我希望在每个列的数据表MS-crm-like(包含,不包含,以...开头,大于....)中进行过滤。

我已经按照本例中解释的方式尝试了它: http://legacy.datatables.net/release-datatables/examples/plug-ins/range_filtering.html

问题是这个过滤器只适用于当前列(对于一列),所以如果我过滤列A,之后我也要过滤列B,那么列A的过滤器是绝对的。

每次拨打oTable.draw()时,都会为当前列重新过滤。

我想念什么?

1 个答案:

答案 0 :(得分: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();
});
相关问题