我无法使用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中。只有在我点击任何过滤器
后才会加载答案 0 :(得分:5)
重置自定义过滤器
如果您使用this example中的自定义过滤功能,则需要在过滤和重绘表格之前清除所涉及的控件。
$('input.search_events').val('');
$('#todays_table').dataTable().fnDraw();
重置全局搜索
答案 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();