在我看来,我有两个输入字段、一个按钮和一个使用jQuery DataTables的表。
我正在我的数据表上使用打印功能。
我试图根据两个输入字段的值设置打印页面的标题,但它不起作用。
在页面加载中,两个输入字段将为空白。这就是按钮发挥作用的地方。如果单击该按钮,那么这两个字段都有一个值,我需要将这些值合并到标题中。
这是我的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
});问题:
因为数据表是在页面加载时设置的。我无法根据按钮单击设置标题以合并startDate和endDate。我无法根据其他事件设置datatable的属性。
有办法这样做吗?
<div class="col-md-4 date-range">
<div class="input-group date datetimepicker">
@Html.TextBox("startDate", null, new { id = "Start-Date", @class = "form-control", @placeholder = "Start Date" })
<span class="input-group-addon">
<span class="fa fa-calendar"></span>
</span>
</div>
</div>
<div class="col-md-1 date-range">
<p class="text-center">
<span class="fa fa-minus"></span>
</p>
</div>
<div class="col-md-4 date-range">
<div class="input-group date datetimepicker">
@Html.TextBox("endDate", null, new { id = "End-Date", @class = "form-control", @placeholder = "End Date" })
<span class="input-group-addon">
<span class="fa fa-calendar"></span>
</span>
</div>
</div>发布于 2017-10-04 16:30:22
正如我在评论中提到的,title选项是buttons.exportInfo()类型的。可以对标题中的任何内容进行计算,并返回一个字符串:
...
buttons: [
{
extend: 'print',
title: function() {
return 'Title For Location here ' + $("#Start-Date").val() + ' - ' + $("#End-Date").val();
}
}
]
...https://stackoverflow.com/questions/46568585
复制相似问题