Javascript 在运行时修改DataTables TableTools默认PDF导出文件名
我正在使用JQuery DataTables TableTools插件并为PDF定义默认文件名。但是,我将datatables与ajax一起使用,并且有一个日期范围选择器,因此页面不会刷新,因此当条件更改时,我无法提供新的默认文件名 有人知道在使用表工具初始化datatables后,我如何在运行时更改默认文件名,即直接修改配置吗Javascript 在运行时修改DataTables TableTools默认PDF导出文件名,javascript,jquery,datatables,Javascript,Jquery,Datatables,我正在使用JQuery DataTables TableTools插件并为PDF定义默认文件名。但是,我将datatables与ajax一起使用,并且有一个日期范围选择器,因此页面不会刷新,因此当条件更改时,我无法提供新的默认文件名 有人知道在使用表工具初始化datatables后,我如何在运行时更改默认文件名,即直接修改配置吗 "oTableTools": { "sSwfPath": "js/DataTables/copy_cvs
"oTableTools": {
"sSwfPath": "js/DataTables/copy_cvs_xls_pdf.swf",
"aButtons": [
"copy",
"csv",
"xls",
{
"sExtends": "pdf",
"sTitle": "Report Name",
"sPdfMessage": "Summary Info",
"sFileName": "<?php print('How do i use jquery to change this after the table has been initialized'); ?>.pdf",
"sPdfOrientation": "landscape"
},
"print"
]
}
“oTableTools”:{
“sSwfPath”:“js/DataTables/copy_cvs_xls_pdf.swf”,
“阿布顿”:[
“复制”,
“csv”,
“xls”,
{
“性倾向”:“pdf”,
“缝合”:“报告名称”,
“sPdfMessage”:“摘要信息”,
“sFileName”:“.pdf”,
“方向”:“景观”
},
“打印”
]
}
我想您需要一些动态生成的名称。创建一个返回(字符串)文件名的函数
function getCustomFileName(){
var docDate = $("#from").val();
var filter = $("#example_filter input").val();
var oSettings = oTable.fnSettings();
var fileName = docDate+"_"+filter;
return fileName;
}
并在$(document).ready
内部使用函数,但在$('#dTable').dataTable({})外部使用函数
"oTableTools": {
"sSwfPath": "js/DataTables/copy_cvs_xls_pdf.swf",
"aButtons": [
"copy",
"csv",
"xls",
{
"sExtends": "pdf",
"sTitle": "Report Name",
"sPdfMessage": "Summary Info",
"sPdfOrientation": "landscape"
"fnClick": function( nButton, oConfig, flash )
{
customName = getCustomFileName()+".pdf";
flash.setFileName( customName );
this.fnSetText( flash,
"title:"+ this.fnGetTitle(oConfig) +"\n"+
"message:"+ oConfig.sPdfMessage +"\n"+
"colWidth:"+ this.fnCalcColRatios(oConfig) +"\n"+
"orientation:"+ oConfig.sPdfOrientation +"\n"+
"size:"+ oConfig.sPdfSize +"\n"+
"--/TableToolsOpts--\n" +
this.fnGetTableData(oConfig)
);
}
},
"print"
]
}