【发布时间】:2017-11-04 17:28:12
【问题描述】:
我有一个来自 Ajax 的数据表,我想计算 #datatableOne 中的行数,其中列“状态”的值为“未知”。我尝试了以下方法。
这仅计算活动页面中的行数
function tableOneRowCount(){
var rows = $("#datatableOne td:nth-child():contains('Unknown')" ).length;
alert("Unknown rows :" + rows);
}
这也不包括分页行,除非你让它们可见一次。所以除非我选择第二页,否则第二页不会包含“未知”行。
function tableOneRowCount(){
var table = $('#datatableOne').DataTable();
var rows = table.rows(':contains("Unknown")').data().length;
alert("unknown rows : " + rows);
}
在这方面需要帮助,因为我在 javascript 方面没有非常扎实的经验。
以下是我加载数据表的方式。
var tableOne = $('#datatableOne').DataTable({
ajax:{
url: '@Url.Action("AssetsUnderContract_AjaxHandler", "SiteReport")',
type: 'GET',
data: { "SiteReportID": SiteReportID }
},
"bProcessing": true,
"columns": [
{"data": "report_asset_id"},
{"data": "product_name"},
{"data": "serial_number"},
{"data": "description"},
{"data": "site_location"},
{"data": "asset_guarantee"},
{"data": "asset_calibration_status"}
],
"columnDefs": [
{
"targets": 7,
"data": null,
"defaultContent": '<button class="btn btn-round btn-primary btn-xs" type="button">Load</button>'
}
],
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
if(aData["asset_guarantee"] == true){
$("td:eq(5)", nRow).text("").wrapInner('<span class="glyphicon glyphicon-check"></span>').css("text-align", "center")
}else {
$("td:eq(5)", nRow).text("").wrapInner('<span class="glyphicon glyphicon-unchecked"></span>').css("text-align", "center")
}
if(aData["asset_calibration_status"] == 0){
$("td:eq(6)", nRow).text("Unknown").wrapInner('<span class="label label-default"></span>').css("text-align", "center")
}else if(aData["asset_calibration_status"] == 1){
$("td:eq(6)", nRow).text("Completed").wrapInner('<span class="label label-success"></span>').css("text-align", "center")
}else if(aData["asset_calibration_status"] == 2){
$("td:eq(6)", nRow).text("Not Found").wrapInner('<span class="label label-danger"></span>').css("text-align", "center")
}else if(aData["asset_calibration_status"] == 3){
$("td:eq(6)", nRow).text("Pending").wrapInner('<span class="label label-danger"></span>').css("text-align", "center")
}
return nRow;
}
});
【问题讨论】:
标签: javascript jquery ajax datatable