javascript - 检查计数数据表是否为空

标签 javascript datatables

我无法获取计数数据表,我需要检查该表是否为空,这是我的代码:

var table = $("#tbl_tmppo");
        var target = table.attr('data-table');

        var oTable = table.on( 'processing.dt', function ( e, settings, processing ) {
            if (processing) {
                $(this).find('tbody').addClass('load1 csspinner');
            } else{
                $(this).find('tbody').removeClass('load1 csspinner');
            };
        } ).DataTable({
            "bServerSide": true,
            "ajax": host+'datatable/'+target,
            "columnDefs": [{
                "targets": [ -1 ],
                "className": "dt-body-left",
            }]
        });

我有点卡在这里,我想检查我是否在 Otable 上没有数据,我需要做一些事情,如果没有我需要做其他事情。任何人都可以帮助我吗?

更新: 我使用的是 oTable.Data().length,但它总是显示 0 长度,即使我在该表上有 2 条记录。如果我使用 oTable.Data().count() 则显示错误未定义。

已关闭。 kcp 代码的 Tq

oTable.on('draw', function () {
    /* Now you can count rows */
    var count = table.data().count()-1;

});

这样我就可以计算我的数据。 Tq kcp!!!你太棒了!!

最佳答案

您可以使用dataFilter来获取行的长度。

DataTable({
    "bServerSide": true,
    ajax: {
        url: host+'datatable/'+target,
        dataFilter: function(data){
            var json = jQuery.parseJSON( data );
            /* Here you have your results */
            json.recordsTotal = json.recordsTotal;
            json.recordsFiltered = json.recordsFiltered;
            json.data = json.list;

            return data;
        }
    }
    "columnDefs": [{
       "targets": [ -1 ],
       "className": "dt-body-left",
     }]
})

@编辑: 对于非后端数据,您可以使用 draw 事件。 例如:

oTable.on('draw', function () {
    /* Now you can count rows */
    var count = table.find("tr").size();
});

@edit2:您还可以使用DataTable.APIdata().count()方法

oTable.on('draw', function () {
        /* Now you can count rows */
        var count = table.data().count();
});

关于javascript - 检查计数数据表是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40214325/

相关文章:

jQuery DataTables 隐藏列而不将其从 DOM 中删除

javascript - 嵌套 HTML 元素的 Angular 范围问题

javascript - 使用 javascript 库的用户事件跟踪

angularjs - Angular 数据表嵌套行渲染

javascript - 将变量传递到另一个页面并运行该变量

javascript - 无法更改数据表中的页面

javascript - 如何将所有子元素包装在一个类中?

Javascript/jQuery : How to dynamically add rows to table body (using arrays)

Javascript函数作为类参数?

jquery - Bootstrap 模式中损坏的表头