Javascript jQuery Datatable通过函数筛选后还原行
我有一个jQuery数据表,并使用外部筛选函数根据类筛选出一些行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
$.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(); }
}]
});
});
您的过滤器无法自行关闭。您需要在搜索功能中添加一个按钮、复选框或其他内容,以查看是否应应用它。。我需要他们在一个按钮点击回来。我没有在这里显示那个按钮。。我只需要一个函数来返回行