我无法获取计数数据,我需要知道该表是否为emtpy,这是我的代码:
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()显示错误不是unifined。
CLOSED。 tq for kcp code
oTable.on('draw', function () {
/* Now you can count rows */
var count = table.data().count()-1;
});
所以我可以计算我的数据。 Tq kcp !!!你真棒!
答案 0 :(得分:2)
您可以使用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",
}]
})
@edit:
对于非后端数据,您可以使用draw
事件。
例如:
oTable.on('draw', function () {
/* Now you can count rows */
var count = table.find("tr").size();
});
@ edit2:您还可以使用data().count()
DataTable.API
方法
oTable.on('draw', function () {
/* Now you can count rows */
var count = table.data().count();
});
答案 1 :(得分:-1)
function CountRows() {
var totalRowCount = 0;
var rowCount = 0;
var table = document.getElementById("tblCustomers");
var rows = table.getElementsByTagName("tr")
for (var i = 0; i < rows.length; i++) {
totalRowCount++;
if (rows[i].getElementsByTagName("td").length > 0) {
rowCount++;
}
}
var message = "Total Row Count: " + totalRowCount;
message += "\nRow Count: " + rowCount;
alert(message);
}