我是jquery datatable的新手。
我想要实现的是,在点击按钮时切换(隐藏/显示)具有名为status_id
的属性的数据行,其值为9到13。
我只尝试了9号,但它没有用。
var dTable = $('#tbl_taskList').DataTable();
$(document).on('click', '.hide-tasks', function (e) {
e.preventDefault();
var row = dTable.row($(this).attr('status_id'));
if(row === '9') {
dTable.row().hide();
}
});
答案 0 :(得分:1)
行没有hide()
功能。基本上你正在尝试做一个专门的过滤器,所以你可以创建一个custom filter来实现你想要的。以下是使用<tr>
9或13隐藏或显示status_id
的可切换过滤器的示例:
$('#hide-tasks').on('click', function (e) {
//is the checkbox checked?
if ($(this).is(':checked')) {
//add filter
$.fn.dataTable.ext.search.push(function( settings, data, dataIndex ) {
//always go through the API when working with dataTables!
var status_id = parseInt(table.row(dataIndex).nodes().to$().attr('status_id'))
return !~[9,13].indexOf(status_id)
})
} else {
//reset filter
$.fn.dataTable.ext.search.pop()
}
//update table
table.draw()
})
演示 - &gt;的 http://jsfiddle.net/k1cz6rma/ 强>
答案 1 :(得分:0)
数据表文档说table.row没有隐藏fucntion但是row()。child()没有。
var row = dTable.row(':eq('+$(this).attr('status_id')+')');
row.child().hide(); // hides
row.child().show(); // shows
结帐页面