隐藏数组中的空元素



我有一个使用标准功能(分页、排序、搜索、日期范围等(的数据表,但我在表格底部也有一部分按办公室显示总数。 但是,我想实现的是一种隐藏办公室显示为"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);

试试这个:

html = '';
for (var i = 0; i < offices.length; i++) {
if(totals[i] > 0){
html += '<br>' + offices[i] + ': ' + totals[i];
}
}
html += '<br'

这个怎么样:

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>'));

最新更新