如何在没有数据时阻止jquery dataTable插件添加行和消息

dca*_*ary 8 datatable jquery

当表中没有数据时,我们的产品所有者希望我们的空表只显示表头.我似乎无法阻止dataTable创建一个带有"empty ..."消息的行.

这是我用来初始化dataTable的代码.我知道这里有些事情是错的.我一直在试验.:)

$('#InBox').dataTable({
    "bFilter": false,
    "bPaginate": false,
    "bLengthChange": false,
    "bInfo": false,
    "oLanguage": {
        "sEmptyTable": '',
        "sInfoEmpty": ''
    }
});
Run Code Online (Sandbox Code Playgroud)

这是我试图在dataTable的init函数中放入的一些代码,但我不知道如何让它工作.

/* Table is empty - create a row with an empty message in it */
            var anRows[0] = document.createElement('tr');

            if (typeof oSettings.asStripClasses[0] != 'undefined') {
                anRows[0].className = oSettings.asStripClasses[0];
            }

            var nTd = document.createElement('td');
            nTd.setAttribute('valign', "top");
            nTd.colSpan = oSettings.aoColumns.length;
            nTd.className = oSettings.oClasses.sRowEmpty;
            if (oSettings.fnRecordsTotal() > 0) {
                if (oSettings.oLanguage.sZeroFilterRecords.indexOf("_MAX_") != -1)
                    oSettings.oLanguage.sZeroFilterRecords = oSettings.oLanguage.sZeroFilterRecords.replace("_MAX_", oSettings.fnRecordsTotal());
                nTd.innerHTML = oSettings.oLanguage.sZeroFilterRecords;
            } else {
                nTd.innerHTML = oSettings.oLanguage.sZeroRecords;
            }

            anRows[iRowCount].appendChild(nTd);
Run Code Online (Sandbox Code Playgroud)

MMK*_*MMK 8

试试这个

$('#InBox').dataTable({
  "bFilter": false,
   "bPaginate": false,
   "bLengthChange": false,
   "bInfo": false,
   "oLanguage": {
    "sEmptyTable": '',
    "sInfoEmpty": ''
   },
   "sEmptyTable": "There are no records",
 });
Run Code Online (Sandbox Code Playgroud)

否则你可以试试这个

$('#InBox').dataTable({
  "bFilter": false,
   "bPaginate": false,
   "bLengthChange": false,
   "bInfo": false,
   "oLanguage": {
    "sEmptyTable": '',
    "sInfoEmpty": ''
   }
 });
$('.dataTables_empty').html("No record found.");
Run Code Online (Sandbox Code Playgroud)


Mar*_*uly 7

如果您想从数据表插件中删除附加的 tbody,您可以尝试以下解决方法:

$('.dataTables_empty').parent().parent().remove();
Run Code Online (Sandbox Code Playgroud)