Javascript 导出按钮未出现在数据表中

Javascript 导出按钮未出现在数据表中,javascript,jquery,html,css,datatables,Javascript,Jquery,Html,Css,Datatables,我使用的是jQuery DataTables 1.10,我所有的代码都运行良好。要添加导出功能,请参阅链接。我已经添加了所有的文件 //code.jquery.com/jquery-1.11.3.min.js https://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js https://cdn.datatables.net/buttons/1.0.3/js/dataTables.buttons.min.js //cdnjs.cloud

我使用的是jQuery DataTables 1.10,我所有的代码都运行良好。要添加导出功能,请参阅链接。我已经添加了所有的文件

//code.jquery.com/jquery-1.11.3.min.js
https://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js
https://cdn.datatables.net/buttons/1.0.3/js/dataTables.buttons.min.js
//cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js
//cdn.rawgit.com/bpampuch/pdfmake/0.1.18/build/pdfmake.min.js
//cdn.rawgit.com/bpampuch/pdfmake/0.1.18/build/vfs_fonts.js
//cdn.datatables.net/buttons/1.0.3/js/buttons.html5.min.js
//cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css
//cdn.datatables.net/buttons/1.0.3/css/buttons.dataTables.min.css
我已经下载了这些文件并存储在本地。因此,我的最终代码如下:

 table = $(".jqueryDataTable").DataTable( {

        "initComplete": function(oSettings, json) {
              alert( 'DataTables has finished its initialisation in table.' );
              this.fnHideEmptyColumns(this);
              $('#lblReportHeader').html(reportHeader);
              $('#lblFromDate').html(fromDateHeader);
              $('#lblToDate').html(fromToHeader);
              $('#tblReportHeader').show();
            },
            "searching": false,
            "retrieve": true, 
            "destroy": true,
            "ajax": "./getReportDetails",
            "jQueryUI": true,
            "dom": 'r<"H"lf><"datatable-scroll"t><"F"ip>',
            buttons: [
                      'copyHtml5',
                      'excelHtml5',
                      'csvHtml5',
                      'pdfHtml5'
                  ],
            "fnServerParams": function ( data ) {
                newData=data;
                newData.push( { "name": "reportType", "value": reportType }, { "name": "reportSubType", "value": reportSubType}, { "name": "fromDate", "value": fromDate}, { "name": "toDate", "value": toDate});
            },
            "columns": [
                            { "mData": "username", "sTitle": "username"},
                            { "mData": "transferType", "sTitle": "transferType"},
                            { "mData": "fromAccount", "sTitle": "fromAccount"}
                ]
        } ); 
table=$(“.jqueryDataTable”).DataTable({
“initComplete”:函数(oSettings,json){
警报('DataTables已在表中完成其初始化');
this.fnHideEmptyColumns(this);
$('#lblReportHeader').html(reportHeader);
$('#lblFromDate').html(fromDateHeader);
$('#lblToDate').html(fromToHeader);
$('tblReportHeader').show();
},
“搜索”:错误,
“检索”:正确,
“毁灭”:真的,
“ajax”:“/getReportDetails”,
“jQueryUI”:没错,
“dom”:“r”,
按钮:[
“复制HTML5”,
“卓越HTML5”,
“csvHtml5”,
“pdfHtml5”
],
“fnServerParams”:函数(数据){
新数据=数据;
推送({“名称”:“报告类型”,“值”:报告类型},{“名称”:“报告子类型”,“值”:报告子类型},{“名称”:“fromDate”,“值”:fromDate},{“名称”:“toDate”,“值”:toDate});
},
“栏目”:[
{“mData”:“username”,“sTitle”:“username”},
{“mData”:“transferType”,“sTitle”:“transferType”},
{“mData”:“fromcount”,“sTitle”:“fromcount”}
]
} ); 
但它没有在我的UI上显示任何导出按钮


我的代码有什么问题?

这里的问题是,您已经包含了所需的JS文件,但在初始化时,您还没有指定导出选项,如下所述:

 $('#example').DataTable( {
      dom: 'Bfrtip',
      buttons: [
          'copy', 'csv', 'excel', 'pdf', 'print'
      ]
  });
您可以根据需要从复制csvexcelpdf打印中删除选项


您不能更改按钮的名称,它需要与前面提到的完全相同。

我遇到过同样的问题,从添加所需的javascript和css文件到指定“dom”值以及在数据表体中初始化按钮数组,一切看起来都很好。然而,我没有显示按钮的根本原因是我两次添加了一个依赖的javascripts,并且同一个js文件被放置在我的resources文件夹中的两个不同位置。一旦我识别并删除了额外的重复js引用,问题就得到了解决,我能够看到按钮的显示和工作情况。

工作正常。。我想既然你把它复制到了本地,给了一个本地的参考资料,就有点搞砸了。尝试给出
cdn
文件引用本身..我想我的dom有问题,你能纠正吗?比如为按钮添加参数?这是添加按钮的新版本,很抱歉,因为我对此没有太多的想法。。还有一些ajax格式可以加载数据。。所有这些都可能是问题的一部分。你有没有试着给出
CDN
文件源?我已经将DOM值更改为“DOM”:“Bfr”,它现在正在显示按钮,但它们没有处于工作状态!!!我也面临同样的问题。上面的问题似乎还没有任何答案:(。为了清楚起见,您可以使用extend选项更改按钮的名称,{extend:'print',print Table',等等)