我有一个响应式数据表 我想删除所有没有数据的子行。
产生子行的代码:
details: {
renderer: function ( api, rowIdx ) {
var data = api.cells( rowIdx, ':hidden' ).eq(0).map( function ( cell ) {
var header = $( api.column( cell.column ).header() );
var idx = api.cell( cell ).index();
if ( header.hasClass( 'control' ) || header.hasClass( 'never' ) ) {
return '';
}
// Use a non-public DT API method to render the data for display
// This needs to be updated when DT adds a suitable method for
// this type of data retrieval
var dtPrivate = api.settings()[0];
var cellData = dtPrivate.oApi._fnGetCellData(
dtPrivate, idx.row, idx.column, 'display'
);
var title = header.text();
if ( title ) {
title = title + ':';
}
return '<li class="turnir" data-dtr-index="'+idx.column+'">'+
'<span class="dtr-title">'+
title+
'</span> '+
'<span class="dtr-data" id="poin">'+
cellData+
'</span>'+
'</li>';
} ).toArray().join('');
return data ?
$('<ul class="topnav" data-dtr-index="'+rowIdx+'"/>').append( data ) :
false;
},
如何跳过没有数据的行。我需要这样的代码:
$("span.dtr-data:empty").parent().hide();
<li class="turnir" data-dtr-index="6">
<span class="dtr-title">Expences1:</span>
<span class="dtr-data"></span>
</li>
请帮忙
我的代码在这里:enter link description here
最佳答案
当一开始就没有数据时,您可能想尝试跳过输出新行。
沿着这些线的东西:
if (cellData) {
return '<li class="turnir" data-dtr-index="' + idx.column + '">' +
'<span class="dtr-title">' + title + '</span> '+
'<span class="dtr-data" id="poin">' + cellData + '</span>'+
'</li>';
} else {
return '';
}
关于javascript - 在数据表中删除没有数据的子行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51515364/