Javascript jQuery Datatable通过函数筛选后还原行

Javascript jQuery Datatable通过函数筛选后还原行,javascript,jquery,datatables,Javascript,Jquery,Datatables,我有一个jQuery数据表,并使用外部筛选函数根据类筛选出一些行 $.fn.dataTable.ext.search.push( function(oSettings, data, dataIndex) { if (oSettings.nTable != document.getElementById( 'bt-datatable' )) { return true } var rowNode = $(table

我有一个jQuery数据表,并使用外部筛选函数根据类筛选出一些行

$.fn.dataTable.ext.search.push(
    function(oSettings, data, dataIndex) {
        if (oSettings.nTable != document.getElementById( 'bt-datatable' ))   {
            return true
        }
        var rowNode = $(table.row(dataIndex).node());
        if (rowNode.hasClass('def-class') || rowNode.hasClass('abc-class')) {
            return rowNode;
        }
    }
);
table.draw();
现在过滤器工作正常,它根据def类和abc类进行过滤。
但是我不能仅仅得到这个函数过滤过的所有行。我想还原单击事件中的行。

以下是我的版本,说明了您正在尝试执行的操作。我的一些标签等是不同的,因为我在现有代码中使用了它。我把按钮放在桌子上

    $(function () {
       // global variable for determining if the class should be filtered

        var filterClass = true;
        $.fn.dataTable.ext.search.push(

            function (oSettings, data, dataIndex) {

                if (oSettings.nTable != document.getElementById('tblTab2') || filterClass == false) {
                        return true
                }
                // I did it slightly different here but it does the same thing.
                var rowNode = $($(oSettings.nTable).DataTable().row(dataIndex).node());
               if (rowNode.hasClass('def-class') || rowNode.hasClass('myclass')) {
                    return rowNode;
                }
            }
        );


            $('#tblTab2').DataTable({
                dom: 'tB', buttons: [{
                    text: "Filter", action:
                        function (e, dt, node, config) { filterClass = !filterClass; dt.draw(); }
                }]
            });

});

您的过滤器无法自行关闭。您需要在搜索功能中添加一个按钮、复选框或其他内容,以查看是否应应用它。。我需要他们在一个按钮点击回来。我没有在这里显示那个按钮。。我只需要一个函数来返回行