【发布时间】:2021-05-23 20:51:55
【问题描述】:
尝试在 JQuery 数据表中传递一些参数,它在 init 上工作正常。 但是当我尝试刷新数据表时,控制器端的值被接收为空。 代码如下:
$("#SearchResultsTable").DataTable({
"processing": true,
"serverSide": true,
"bLengthChange": false,
"filter": false,
"pageLength": @Model.PageSize,
"orderMulti": false,
"ajax": {
"url": "/Request/SearchRequest",
"type": "POST",
"datatype": "json",
"data": {
"Date_To": document.getElementById("Date_To").value,
"Date_From": document.getElementById("Date_From").value
}
},
"columns": [
{ "data": "ABC", "name": "ABC", "autoWidth": true },
{ "data": "DEF", "name": "DEF", "autoWidth": true }
]
});
刷新数据表:
$("#Search_Btn").click(function () {
$("#SearchResultsTable").DataTable().clear();
$("#SearchResultsTable").DataTable().draw();
});
也试过了:
$("#Search_Btn").click(function () {
var table = $('#SearchResultsTable').DataTable();
table.ajax.reload();
});
我想以这样的方式刷新表格,以便控制器端可以使用更新后的 'Date_To' 和 'Date_From' 值。
【问题讨论】:
-
在您的 DataTable
ajax选项中,您可以使用一个函数:"data": function () {...},而不是使用data: { ... }。 this answer 中有一个例子。由于您也在使用"serverSide": true,请注意该答案中的警告,并使用jQuery 的extend。
标签: javascript jquery asp.net-mvc datatables