【问题标题】:In datatables Remove child rows with no data在数据表中删除没有数据的子行
【发布时间】:2018-07-25 09:23:56
【问题描述】:

我有一个响应式数据表 我想删除所有没有数据的子行。

产生子行的代码:

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

【问题讨论】:

  • 在js中选择合适的行并使用.remove()
  • 用Javascript编写的脚本。
  • 示例的最后一行是在 Jquery 中。无论如何,你可以这样做: var elem = document.getElementById("myDiv"); elem.parentNode.removeChild(elem);这是伪代码,让您了解自己可以做什么。

标签: javascript php jquery css datatables


【解决方案1】:

当一开始没有数据时,您可能想尝试跳过输出新行。

类似的东西:

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

【讨论】:

  • 是的,当然。我想跳过没有数据的行。你能帮我写代码吗?
  • 非常感谢。很好的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 1970-01-01
  • 2021-09-27
  • 2019-10-24
  • 1970-01-01
  • 2019-07-22
相关资源
最近更新 更多