Удалить фильтр поиска на Datatable

я применил кнопку в моем 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 }
            ]
           });

и мое событие click:

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

все это работает отлично, но теперь я хочу сбросить фильтры, когда выполняется любое другое действие на странице. Например, изменение выбора даты.

Как я могу проверить, имеет ли datatable фильтр seach, и удалить его (т. е. сброс таблицы, до события click).

2 ответов


может быть, вы смотрите на что-то вроде этого:http://www.datatables.net/plug-ins/api/fnFilterClear
Вы можете очистить поиск очень простым способом:

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

легкий

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