我无法获取计数数据表,我需要检查该表是否为空,这是我的代码:
var table = $("#tbl_tmppo");
var target = table.attr('data-table');
var oTable = table.on( 'processing.dt', function ( e, settings, processing ) {
if (processing) {
$(this).find('tbody').addClass('load1 csspinner');
} else{
$(this).find('tbody').removeClass('load1 csspinner');
};
} ).DataTable({
"bServerSide": true,
"ajax": host+'datatable/'+target,
"columnDefs": [{
"targets": [ -1 ],
"className": "dt-body-left",
}]
});
我有点卡在这里,我想检查我是否在 Otable 上没有数据,我需要做一些事情,如果没有我需要做其他事情。任何人都可以帮助我吗?
更新: 我使用的是 oTable.Data().length,但它总是显示 0 长度,即使我在该表上有 2 条记录。如果我使用 oTable.Data().count() 则显示错误未定义。
已关闭。 kcp 代码的 Tq
oTable.on('draw', function () {
/* Now you can count rows */
var count = table.data().count()-1;
});
这样我就可以计算我的数据。 Tq kcp!!!你太棒了!!
最佳答案
您可以使用dataFilter
来获取行的长度。
DataTable({
"bServerSide": true,
ajax: {
url: host+'datatable/'+target,
dataFilter: function(data){
var json = jQuery.parseJSON( data );
/* Here you have your results */
json.recordsTotal = json.recordsTotal;
json.recordsFiltered = json.recordsFiltered;
json.data = json.list;
return data;
}
}
"columnDefs": [{
"targets": [ -1 ],
"className": "dt-body-left",
}]
})
@编辑:
对于非后端数据,您可以使用 draw
事件。
例如:
oTable.on('draw', function () {
/* Now you can count rows */
var count = table.find("tr").size();
});
@edit2:您还可以使用DataTable.API
的data().count()
方法
oTable.on('draw', function () {
/* Now you can count rows */
var count = table.data().count();
});
关于javascript - 检查计数数据表是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40214325/