簡體   English   中英

帶有外部搜索的“ jQuery數據表服務器端分頁”字段

[英]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>"
    },
});

Monthyear可能會有所不同。

無論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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM