【问题标题】:Datatable AJAX Data Parameter is not RefreshingDatatable AJAX 数据参数不刷新
【发布时间】:2021-06-14 02:35:30
【问题描述】:

我被困在我的数据表 Ajax 重新加载的一部分上。在我的 javascript 文件的开头,我有以下内容:

var courtDateSelected;

docketCheckedInDataTable = $('#data-checked-in').DataTable({
        ajax: {
            type: "POST",
            url: base_url + '/courts/dockets/api/list1',
            dataType: 'json',
            data: {
                'court_date_id': courtDateSelected,
                'checked_in': 'true',
            },
            error: function (xhr, error, code)
            {
                console.log(xhr);
                console.log(code);
            },
            "dataSrc": function (json) {
                //Make your callback here.
                $('#checkedInCount').html(json.data.length);
                return json.data;
            }
        },
        "paging": true,
        "dom": '<"datatable-header"f>rt<"datatable-footer"p>',
        "ordering": true,
        "bLengthChange": false,
        "autoWidth": false,
        "searching": true,
        "info": false,
        "order": [],
        "columns": [
            {data: 'view', name: 'view', orderable: false},
            {data: 'docket_number', name: 'docket_number', orderable: false},
            {data: 'last_name', name: 'last_name', orderable: true},
            {data: 'first_name', name: 'first_name', orderable: false},
            {data: 'balance', name: 'balance', orderable: false},
            {data: 'actions', name: 'actions', orderable: false},
        ],
        language: {
            search: "_INPUT_",
            searchPlaceholder: "Search Keywords...",
            emptyTable: "There are no available dockets for the selected court session."
        }
    });

我有一个日期选择器,它将变量的 (courtDateSelected) 值设置为所选值,然后启动此脚本:

function reloadCheckinPageTables(){
    console.log('begin');
    console.log(courtDateSelcted);
    console.log('end');
    docketCheckedInDataTable.ajax.reload();
    docketDataTable.ajax.reload();
    docketPendingCheckoutDataTable.ajax.reload();
}

问题是我的控制台日志如下:

begin
894
end

这让我相信该变量已成功更新,但是,该变量的更新值并未传递到 DataTable 中的数据参数中。

我将不胜感激。

【问题讨论】:

    标签: javascript jquery datatables


    【解决方案1】:

    对于动态计算的数据,您应该使用ajax.data 作为函数。比如:

     ajax: { 
       ...
       data: fundtion(d) {
         d.court_date_id = courtDateSelected;
         d.checked_in = 'true';
       }
       ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 2020-03-17
      • 2018-07-20
      • 2016-10-07
      相关资源
      最近更新 更多