我得到了以下.js文件,它在我的网站的每个页面上都被调用,并且自动将表转换为DataTables:
$.extend( $.fn.dataTable.defaults, {
"buttons": [
$.extend( true, {}, buttonCommon, {
extend: 'excelHtml5',
exportOptions: {
columns: ':visible'
}
} ),
$.extend( true, {}, buttonCommon, {
extend: 'pdfHtml5',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
} ),
$.extend( true, {}, buttonCommon, {
extend: 'print',
exportOptions: {
columns: ':visible'
},
orientation: 'landscape'
} )
]
} );
//Render datatables
$(document).ready(function() {
if ($('.data-table').length !== 0)
{
$('.data-table').DataTable();
}
});
当我导出一个表(即excelHtml5、pdfHtml5或print)时,我希望导出的文档标题显示该表的data-exporttitle属性(如果该表具有该属性),否则显示默认值。当前和默认情况下,标题显示页面标题。
如何修改上面的脚本才能做到这一点呢?
如果这个信息有任何帮助,我的网站上的一些页面包含一个以上的表。
我的第一反应是在每个extend函数中添加以下“title”代码行,但这不起作用:
$.extend( true, {}, buttonCommon, {
extend: 'pdfHtml5',
orientation: 'landscape',
title: $(this).data("export-title")
} ),
您可以在buttoncommon
文字中使用buttons.init
。表引用稍微隐藏在参数中,但它可以工作:
var buttonCommon = {
init: function(dt, node, config) {
var table = dt.table().context[0].nTable;
if (table) config.title = $(table).data('export-title')
},
title: 'default title'
};
现在,按钮导出将具有与其关联的tabledata-export-title
属性相同的title
。
用法