DataTables和columnDefs渲染数据

时间:2018-11-15 14:23:47

标签: javascript mysql arrays datatables

我正在使用数据表1.10.19,我想根据表单元格的内容过滤数据。

我正在使用columnDefs选项来更改返回数据的内容。

我正在使用this php script来检索数据。

我的代码是;

$('#example').DataTable({
processing : true,
serverSide : true,
ajax: url": '/server_processing.php',
columnDefs: [{
    targets: 5, // row 6 in the html table
    "render": function(data, type, row) {
        if (row[5] == 0) {
            data = 'rejected';
        }
        return data;
    },
}]
});

这将成功显示一个表,并在从数据库返回rejected时在第6列显示0。但是,数据表不允许我过滤单词 rejected。我得到No matching records found,但是我可以过滤整数0

我认为数据表应该过滤表中显示的内容?

任何建议都值得赞赏。

2 个答案:

答案 0 :(得分:0)

您已启用服务器端处理模式(serverSide: true),这意味着您必须自己在服务器端执行搜索。这可以手动完成,也可以使用帮助程序类/库来完成。

例如,对于PHP,使用DataTables发行版中可用的SSP帮助器类(ssp.class.php)。对于Laravel框架,有Laravel DataTables

DataTables插件仅在客户端处理模式下为您执行搜索。

答案 1 :(得分:0)

简单,我要做的就是设置这个;

serverSide: false