删除Datatable上的搜索过滤器

CSh*_*Bee 19 datatables jquery-datatables datatables-1.10

我在我的DataTable中应用了一个按钮,点击该按钮,过滤数据表,只显示点击的行.

表初始化是:

       var oDatatable = $("#tblDataTable").DataTable({
            dom: '<"top"CRTl><"clear">rt<"bottom"ip><"clear">',
            columns: [
                                   { data: 'Message' },
                { data: 'MessageId' },
                { data: null, "defaultContent": "<button id=\"tblRowData\">Click</button>"}
            ],

            "columnDefs": [
             { "visible": false, "targets": 0 }
            ]
           });
Run Code Online (Sandbox Code Playgroud)

我的点击事件是:

    $('#tblDataTable tbody').on('click', 'button', function (event) {
    var data = oDataTable.row($(this).parents('tr')).data();
    oDataTable
     .columns(8)
     .search(data['MessageId'])
     .draw();
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但现在我想重置过滤器,当页面上的任何其他操作执行.例如,更改日期时间选择器.

如何检查数据表是否应用了搜索过滤器,并将其删除(即在单击事件之前重置表格).

Lea*_*edo 42

也许你正在看这样的东西:http ://www.datatables.net/plug-ins/api/fnFilterClear
你可以用一种非常简单的方式清除搜索:

var table = $('#example').DataTable();
table
 .search( '' )
 .columns().search( '' )
 .draw();
Run Code Online (Sandbox Code Playgroud)


Ale*_*oya 6

更容易

var table = $('#example').DataTable();
table
.search("").draw(); 
Run Code Online (Sandbox Code Playgroud)