Button 如何在动态数据表中更改导出文件名?

Button 如何在动态数据表中更改导出文件名?,button,datatables,export,filenames,Button,Datatables,Export,Filenames,我可以通过以下代码更改按钮的文本,但无法获取title属性 $("#dataTable").DataTable({ dom: 'Bfrtip', buttons: [ { extend: 'excel', text:'export to excel',title:'1'}, ],

我可以通过以下代码更改按钮的文本,但无法获取title属性

 $("#dataTable").DataTable({                    
                    dom: 'Bfrtip',
                    buttons: [
                             { extend: 'excel', text:'export to excel',title:'1'},
                    ],
})

一旦在对象中设置了它并且初始化了datatable,就不能更改它。不过,您可以从init上的页面元素动态设置它

var table= $("#dataTable").DataTable();
tabele.button(0).text('excel');

这篇文章对如何处理这个问题也有很好的建议

在我的例子中,我必须覆盖按钮的操作,添加一些内容来更改标题,然后调用原始按钮方法

在此示例中扩展CSV:

("#dataTable").each( function(index) {
    var exportTitle = $("#somePageElement").text();
    $(this).DataTable({
        dom: 'Bfrtip',
        buttons: [
            {
                extend: 'excel',
                title: exportTitle 
            },
            {
                extend: 'pdf',
                title: exportTitle 
            }
        ]
    });
 $("#dataTable").DataTable({                    
    dom: 'Bfrtip',
    buttons: [
        {extend: 'csv', 
        text:'export to csv',
        title:'1',
        action: function(e, dt, button, config) {
        config.title = "New title";

        // This checks whether the HTML5 or flash version needs
        // to be called, so it's not needed if the button you are using 
        // doesn't have that distinction
        if ($.fn.dataTable.ext.buttons.csvHtml5.available( dt, config )) {
            $.fn.dataTable.ext.buttons.csvHtml5.action(e, dt, button, config);
        }
        else {
            $.fn.dataTable.ext.buttons.csvFlash.action(e, dt, button, config);
        }
    }}
    ]
})