jQuery DataTable Установить заголовок при нажатии кнопки
На мой взгляд, у меня есть 2 поля ввода, 1 кнопка и 1 таблица, из которых я использую jQuery DataTables.
Я использую функциональные возможности печати на моей базе данных.
Я пытаюсь установить заголовок страницы печати, основываясь на значениях 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
});
Проблема:
Поскольку таблица данных настраивается при загрузке страницы. Я не могу установить заголовок для включения startDate
а также endDate
на основе нажатия кнопки. Я не могу установить свойства данных на основе других событий.
Есть ли способ сделать это?
HTML
<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>
1 ответ
Как я уже упоминал в своем комментарии, title
вариант имеет тип buttons.exportInfo()
, Вы можете оценить что угодно в заголовке и вернуть строку:
...
buttons: [
{
extend: 'print',
title: function() {
return 'Title For Location here ' + $("#Start-Date").val() + ' - ' + $("#End-Date").val();
}
}
]
...