如何重置数据表中的过滤器

时间:2016-10-18 14:40:38

标签: jquery datatables

我无法使用fnFilter()清除过滤器。

这是我的HTML代码:

<table id="todays _table>

               <thead>
                 <tr id="todays_search_input_feilds">
                     <td class="input_filter">
                        <input type="text" id="type" class="form-control search_events">
                    </td>
                    <td class="input_filter">
                        <input type="text" id="vendor " class="form-control search_events">
                    </td>
                </tr>
            </thead>
    </table> 

这是我的JQuery代码

$('#todays_table').dataTable().fnFilter('');
    oTable.fnClearTable();

我尝试使用以下方法清算:

$('input[class="form-control search_events"]').val('');

但问题是,它正在清除值,但数据未加载到dataTable中。只有在我点击任何过滤器

后才会加载

6 个答案:

答案 0 :(得分:5)

重置自定义过滤器

如果您使用this example中的自定义过滤功能,则需要在过滤和重绘表格之前清除所涉及的控件。

$('input.search_events').val('');
$('#todays_table').dataTable().fnDraw();

重置全局搜索

  • jQuery DataTables 1.9 +

    使用空字符串作为第一个参数调用fnFilter() API方法来重置全局搜索并重绘表格。

    例如:

    $('#example').dataTable().fnFilter('');
    
  • jQuery DataTables 1.10

    使用空字符串作为第一个参数调用search() API方法,然后调用draw() API方法重置全局搜索并重绘表格。

    例如:

    $('#example').DataTable().search('').draw();
    

答案 1 :(得分:1)

  

DataTables 1.10+新API无需实现同样的效果   使用以下链接的插件要求:

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

如果您使用的是早期版本的DataTables,则需要包含名为 fnFilterClear 的插件库并调用:

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

请参阅此DataTables API page以获取更多信息以及需要用于早期版本的DataTable的插件。

答案 2 :(得分:0)

 <script type="text/javascript" src="https://cdn.datatables.net/plug-ins/1.10.9/api/fnFilterClear.js"></script>

  $.extend( $.fn.dataTable.defaults, {
 fnInitComplete: function(oSettings, json) {
   var btnClear = $('#clear_all');
  btnClear.appendTo($('#' + oSettings.sTableId).parents('.dataTables_wrapper').find('.dataTables_filter'));

  $('#clear_all').click(function () {
   $('#' + oSettings.sTableId).dataTable().fnFilterClear();
   $("input.column_filter").val('');

       $.fn.dataTable.ext.search.pop();
  });

 }

});

答案 3 :(得分:0)

我正在使用DataTables 1.10.15,它的工作方式如下。

        var oTable = $('#example').DataTable();
        $.fn.dataTableExt.afnFiltering.length = 0;
        oTable.draw();

答案 4 :(得分:0)

DataTables 1.10+新API

var D_T = $(selector).DataTable();
     D_T.
         search('').
         columns().search('').visible( true, true ).order('asc' ).
         colReorder.reset().
         page.len(10).
         state.clear().
         draw() ;

答案 5 :(得分:0)

对于使用正则表达式进行搜索的用户:

$('#example').DataTable().column('').search('').draw();