我有一个 Jquery 数据表,它显示一些数据,它有一个外部搜索字段。我试图借助 Jquery 数据表插件实现服务器端分页。但问题是,它有一个外部搜索字段,其中用户可以选择一个日期(基本上是月份和年份)并搜索记录。因此,每次用户选择搜索时,数据表都需要刷新。任何人都可以帮助我吗?
数据表
var LeaveDetailsTable = $('#LvReprtTable').DataTable({
"pageLength": 5,
"processing": true,
"serverSide": true,"searching": false,"bLengthChange": false,
"ajax": {
"url": "GetLeaveDetails",
"type": "POST",
"datatype": "json",
"data": function (d) {
d.EmpId = empId;
d.UserType = userType;
d.Month = "1";
d.year = "2017";
}
},
"columns": [
{ "data": "_fromdate" },
{ "data": "_todate" },
{ "data": "_strLvType" },
{ "data": "_leavedurationtype" },
{ "data": "_leavedurationtype" },
{ "data": "_leavedurationtype" },
],
"columnDefs": [{
"targets": -1,
"data": data,
"defaultContent": "<button>Click!</button>"
}]
,"language":
{
"processing": "<div class='row text-center waitIconDiv' id='LoadIconDiv'><img alt='Progress' src='~/Content/images/wait_icon.gif' width='50' height='50' id='imgProgLvRprt' /></div>"
},
});
月份
和年份
可能会有所不同。
最佳答案
无论您想要什么元素,您都需要在数据表实例上调用ajax.reload()
:
LeaveDetailsTable.ajax.reload();
它将使用在 data
属性中添加到 Controller 操作的新参数来发布数据表的状态。
您还可以查看this article (Server Side Advanced Search using JQuery DataTables)其中解释了如何使用 JQuery DataTables 将自定义参数发送到 Controller 操作。
关于javascript - Jquery 数据表服务器端分页与外部搜索字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42242276/