jQuery DataTable设置标题按钮单击

在我看来,我有2个输入字段,1个按钮和1个表,我使用的是jQuery DataTables 。

我在我的数据表上使用打印function 。

我试图根据2个输入字段的值设置打印页面的标题,但它不起作用。

在页面加载时,2个输入字段将为空白…这是按钮发挥作用的位置。 如果单击该按钮,则这两个字段都将具有值,并且我需要将这些值合并到标题中。

这是我的jQuery:

var startDate = ""; var endDate = ""; $("#Search-Btn").click(function() { startDate = $("#Start-Date").val(); endDate = $("#End-Date").val(); }); var firstTable = $("#Month-Table").DataTable({ dom: 'Bfrtip', buttons: [ { extend: 'print', title: 'Title For ' + locationName + ' ' + startDate + ' - ' + endDate, exportOptions: { columns: ':not(:last-child)' } }], "searching": false, "paging": false }); 

问题:

因为数据表是在页面加载时设置的。我无法根据按钮单击将标题设置为包含startDateendDate 。 我无法根据其他事件设置数据表的属性。

有没有办法做到这一点?

HTML

 
@Html.TextBox("startDate", null, new { id = "Start-Date", @class = "form-control", @placeholder = "Start Date" })

@Html.TextBox("endDate", null, new { id = "End-Date", @class = "form-control", @placeholder = "End Date" })

正如我在评论中提到的, title选项的类型为buttons.exportInfo() 。 您可以在标题中评估任何内容,并返回一个字符串:

 ... buttons: [ { extend: 'print', title: function() { return 'Title For Location here ' + $("#Start-Date").val() + ' - ' + $("#End-Date").val(); } } ] ... 

的jsfiddle