设置多个数据表时,jquery数据表导出按钮不出现

时间:2019-01-10 08:30:34

标签: datatables export-to-csv

当我只有一个按钮时,导出按钮会起作用,但是当我复制它时,按钮会消失。

我正在加载:

  • jquery.dataTables.min.css
  • jquery.dataTables.min.js
  • buttons.dataTables.min.css
  • buttons.dataTables.min.js
  • buttons.flash.min.js
  • buttons.html5.min.js
  • buttons.print.min.js

当我在文档(官方网页)上阅读时。

当我只有一个(不管是哪个)时,效果很好,但是当我将两个dataTables设置在同一页面上时,按钮不会显示。

$(document).ready( function () {
        $('#firstTable').DataTable({
            dom: 'Bfrtip',
            buttons: [
                'csv', 'excel', 'print'
            ]
        } );
        $('#secondTable').DataTable({
            dom: 'Bfrtip',
            buttons: [
                'csv', 'excel', 'print'
            ]
        } );
    });

我认为这是由于无法将_DT_CellIndex设置为undefined造成的,我已经尝试修复了该问题,但似乎它想要保留。 这两个表都是动态生成的,某些单元格可能为空。

我找不到告诉数据表允许/忽略白细胞的方法。 顺便说一句,似乎在空单元格上添加Â不会生效。

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

已解决 我发现有时会加载空白。 在两个表上都发生了这种情况,但不知道为什么只有在同时加载两个按钮后按钮才会消失。

我在元素上添加了一个类,然后:

$('.rowToCheck').each(function (i){
    if($(this).children().length == 0){
        $(this).remove();
    }
 });

在$(document).ready内和dataTables初始化之前。

没有_DT_CellIndex的未定义错误,并且按钮现在可以正确显示。