如何在绑定到Laravel中的视图时修改Datables数据?

时间:2017-01-26 12:26:18

标签: laravel datatable

这是我现有的JS代码:

    var CategoriesTablewithFilter = function(){
    var table = $('#catDatatable');
    var url = $('#url').val();
    var tableObj = table.DataTable( {
        "serverSide": true,
        "responsive": true,


        "aoColumnDefs": [
                          { "bSearchable": true, "aTargets": [ 1 ] },
                        ],

        ajax:
         {
            url: url, 
            dataSrc: 'data',
        },

        columns: [ 
            { data: 'id'},
            { data: 'name'},
            { data: 'status'},

        ],

    } );

}

Status是一个返回1或0的布尔字段。 无论如何我可以将1改为0 - Strings - Active / InActive

2 个答案:

答案 0 :(得分:1)

您应该对列使用渲染功能:

var CategoriesTablewithFilter = function () {
    var table = $('#catDatatable');
    var url = $('#url').val();
    var tableObj = table.DataTable({
        "serverSide": true,
        "responsive": true,
        "aoColumnDefs": [
            {"bSearchable": true, "aTargets": [1]},
        ],
        ajax:
                {
                    url: url,
                    dataSrc: 'data',
                },
        columns: [
            {data: 'id'},
            {data: 'name'},
            {data: 'status', render: function (data, type, row, meta) {
                return data == 1 ? 'Active' : 'InActive';
            }}
        ],
    });
}

答案 1 :(得分:0)

尝试使用console.log(data)输出调试ajax响应以获取状态值,并使用render函数显示渲染最终输出。

columns: [
    { data: 'id'},
    { data: 'name'},
    {
        data: 'status',
        render: function (data, type, full, meta) {
            return full.status == true ? 'Active' : 'Inactive';
        }
    }
]

或者你可以使用

columns: [
    { data: 'id'},
    { data: 'name'},
    {
        data: 'status',
        render: function (data, type, full, meta) {
            return data === '1' ? 'Active' : 'Inactive';
        }
    }
]