[英]Jquery Datatable Server Side Pagination With External Search field
我有一個顯示一些數據的Jquery Datatable,它有一個外部搜索字段。我試圖借助Jquery Datatable插件實現服務器端分頁。但是問題是,它有一個外部搜索字段,用戶可以在其中選擇日期(基本上是月和年)並搜索記錄。因此,每次用戶選擇搜索時,都需要刷新數據表。有人可以幫我嗎?
數據表
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>"
},
});
Month
和year
可能會有所不同。
無論ajax.reload()
需要任何元素,您都需要在datatable實例上調用ajax.reload()
:
LeaveDetailsTable.ajax.reload();
它將使用新參數發布數據表的狀態,新參數已添加到控制器操作的data
屬性中。
您還可以查看本文(使用JQuery DataTables進行服務器端高級搜索) , 該文章說明如何通過JQuery DataTables將自定義參數發送到控制器操作。
為此,我建議您使用jquery onchange
方法。 例如:
$('.input-class').on('change', function () {
$table.fnDraw();
});
這里$table
表示您的數據$table
的名稱,而fnDraw()
是一個用於刷新表的Datatable函數。 顯然,您需要將搜索字段中的數據添加到請求中。 為此,我建議您通過下面的鏈接:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.