我有一个使用标准功能(分页,排序,搜索,日期范围等)的数据表,但表底部还有一个部分按办公室显示总数。但是,我想实现的是一种隐藏任何在办公室显示为“ 0”的搜索结果的方法。例如,如果您在我的表中搜索“助理”,那么爱丁堡,伦敦,新加坡和东京都将显示结果“ 0”(因为这些办公室中没有任何助理)。除了显示那些空结果之外,我该如何隐藏它们?
这是我的jsfiddle的链接:https://jsfiddle.net/l337method/vhoupanz/
这是我的剧本:
var offices = api.column(2).data().sort().unique().toArray();
var totals = [];
for (var i = 0; i < offices.length; i++) totals.push(0);
api.rows({filter:'applied'}).every(function() {
var data = this.data();
totals[offices.indexOf(data[2])] += intVal(data[5]);
});
html = '';
for (var i = 0; i < offices.length; i++) {
html += '<br>' + offices[i] + ': ' + totals[i];
}
html += '<br'
$(api.column(4).footer()).html(html);
答案 0 :(得分:1)
如何?
html = [];
for (var i = 0; i < offices.length; i++) {
if (totals[i] > 0) html.push(offices[i] + ': ' + totals[i]);
}
$(api.column(4).footer()).html(html.length == 0?"":html.join('</br>'));
答案 1 :(得分:1)
尝试一下:
html = '';
for (var i = 0; i < offices.length; i++) {
if(totals[i] > 0){
html += '<br>' + offices[i] + ': ' + totals[i];
}
}
html += '<br'