yadcf range_date 过滤总是 returns 空值

yadcf range_date filter always returns empty value

我有这些数据table,我正在尝试使用 YADCF 来过滤我的结果。 table 工作正常并且过滤器 UI 加载完美,但是当我 select 一个日期时,它会过滤所有结果,甚至当我 删除 selection,'filter' 保持应用状态,直到我刷新页面。此错误适用于所有 yadcf 过滤器,而不仅仅是 range_date.

  $(document).ready(function() {
    var active = $('#active').DataTable( {
        global: false,
        "dom": 'f<"toolbar">rtilp',
        "processing": true,
        "serverSide": true,
        "ajax": {
            "url": "processing_active.php"
        },

        "order": [[ 4, "desc" ]]',[ 2, "asc" ],[ 10, "desc" ]],
        "deferRender": true,
        "lengthMenu": [[55, 155, 250, -1], [55, 155, 250, 'All']],
        "columns": [
        {
            "class":          "details-control",
            "orderable":      false,
            "data":           null,
            "defaultContent": "",
            "visible":        false
        },
        { "data": "loadNumber","width": "8em"},
        { "data": "driverName","width": "10em"},
        { "data": "truckNum","width": "5em"},
        { "data": "puDate","width": "9em"},
        { "data": "puCity", "width": "10em"  },
        { "data": "puState", "width": "1em" },
        { "data": "regStatus"},
        { "data": "deCity", "width": "10em" }, 
        { "data": "deState", "width": "1em"}, 
        { "data": "deDate","width": "9em"},
        { "data": "loadRate","width": "7em"},
        { "data": "confNumber", "width" : "9em"},
        { "data": "dispatcherName", "width": "10em"},
        { "data": "smallStatus"}
        ]
    });
     $(document).ready(function() {     
        $('#active').dataTable().yadcf([

                    {
                    column_number: 4,
                    filter_type: "range_date",
                    }
        ]);

    });

为您的 yadcf 试试这个:

yadcf.init(active, [{
    column_number:       4,
    column_data_type:    'text',
    filter_type:         'range_date'
}]);

您需要在服务器端编写过滤逻辑,因为在服务器端处理数据表时,您的所有过滤逻辑也在服务器上完成,您需要解析 columns[0][search][value] / columns[1][search][value] /etc 和 return 只将相关行返回给客户端,

您可以使用 github 尝试使用 yadcf 和 php 找到一些相关示例,这里可能 search query on github

p.s 你真的应该使用以下语法来初始化 yadcf,在构建数据表后的第一个准备好的代码块中,调用以下代码

yadcf.init(active,.....