jQuery DataTables 在使用日期时间选取器时没有所有 post 值

jQuery DataTables not having all post values when using datetime picker

提问人:Kobus Myburgh 提问时间:7/18/2023 更新时间:7/18/2023 访问量:13

问:

我正在使用jQuery数据表,并尝试将其与日期时间选择器(https://miamarti.github.io/Material-DateTimePicker/)结合使用。

我顶部的过滤器是自定义编码的,但它似乎不是导致问题的原因。

在不使用日期时间选取器(为解释而硬编码的日期)时,筛选器的构造如下:

PHP

$filters['Staged Date'] = [
    'column' => 16,
    'id' => 'stage_date',
    'name' => 'stage_date',
    'options' => [
        '2023-07-01 00:00:00' => '2023-07-01 00:00:00',
        '2023-07-02 00:00:00' => '2023-07-02 00:00:00',
        '2023-07-03 00:00:00' => '2023-07-03 00:00:00'
    ]
];

但是,当使用 datepicker 时,代码将更改为:

PHP

$filters['Staged Date'] = [
    'column' => 16,
    'class' => 'timepickerfield',
    'text_field' => true,
    'id' => 'stage_date',
    'name' => 'stage_date',
    'options' => []
];

Javascript/jQuery

    $('#stage_date').bootstrapMaterialDatePicker({
        format : 'YYYY-MM-DD HH:mm',
        switchOnClick : true,
        weekStart : 0
    }).on('close', function(e) {
        $('#stage_date').val($(this).val() + ':00').trigger('change');
        var table = $('#dt-transaction-list').DataTable();
        table.ajax.reload();
    });

我知道“close”事件正在触发,因为日期时间选择器字段在选择后的日期末尾更新为“:00”。我还可以看到该表正在重新加载。我的控制台中也没有错误。

如果没有日期时间选取器,POST 数据如下所示(仅使用相关数据缩短):

Array
(
    [columns] => Array
        (
            ...
            [16] => Array
                (
                    [data] => stage_date
                    [name] => stage_date
                    [searchable] => true
                    [orderable] => true
                    [search] => Array
                        (
                            [value] => 2023-07-03 00:00:00
                            [regex] => false
                        )

                )
            ...
        )
)

但是使用日期时间选取器时,值索引为空。columns > 16 > search > value

有什么想法吗?我一分钟一分钟地变得更灰。

JavaScript jQuery 日期选择器

评论


答: 暂无答案