重置DataTables中的过滤数据

我有一个数据表,其中使用AJAX检索数据。 然后我有两个过滤数据的搜索function。 使用未过滤的数据后,搜索function可以正常工作。 应用filter后,我无法清除filter或应用另一个filter,因为两个filter是互斥的(一个filter是全部付费,另一个filter是全部未付款)。 我认为我的问题是,一旦数据被过滤,然后我尝试清除或应用另一个filter,它将作用于数据的子集(已经过滤的数据)。 如何在应用新filter之前清除重置过滤后的数据,以及如何重置filter。 我已经在这个网站上尝试了一些解决方案,但它们没有用。 这是我的过滤function。

function outstandingFees() { $.fn.dataTable.ext.search.push( function (settings, data, dataIndex) { var zero = 0; var fee = parseFloat(data[8]) || 0; // use data for the balance due column if (fee > zero) { return true; } return false; } ); table.draw(); } function paidFees() { $.fn.dataTable.ext.search.push( function (settings, data, dataIndex) { var zero = 0; var fee = parseFloat(data[8]); // use data for the balance due column if (fee === zero) { return true; } return false; } ); table.draw(); } function allFees() { $.fn.dataTable.ext.search.push( function (settings, data, dataIndex) { var zero = 0; var fee = parseFloat(data[8]) || 0; // use data for the balance due column if (zero <= fee) { return true; } return false; } ); table.draw(); } 

如davidkonrad所说

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

为我工作。 我只是将它添加到每个方法的顶部,以便在应用新的filter之前清除filter。