jQuery Datatables根据条件更改列的值
我有Datatables工作正常。 不过,我想稍微调整一下。 正如你所看到的,我有这样的情况:
if ( data.status == 0 )
这意味着如果status
等于零,我会使文本颜色变成红色,否则就变成绿色。 不过,我也想改变data.status
的文本data.status
它是0
或1
。 如何使文本显示为Pending
如果为零,并且Approved
1。
<script>
$(document).ready(function(){
$('#LeaveList').DataTable({
processing: true,
serverSide: true,
ajax: 'leave-list',
"createdRow": function ( row, data, index ) {
if ( data.status == 0 ) {
$('td', row).eq(6).addClass('text-danger');
}
else
{
$('td', row).eq(6).addClass('text-success');
}
},
columns: [
{data: 'id', name: 'id'},
{data: 'employee_name', name: 'employee_name'},
{data: 'employee_id', name: 'employee_id'},
{data: 'from_date', name: 'from_date'},
{data: 'to_date', name: 'to_date'},
{data: 'leave_type', name: 'leave_type'},
// {data: 'department', name: 'department'},
{data: 'status', name: 'status'},
{data: 'created_at', name: 'created_at'},
{data: 'action', name: 'action', orderable: true, searchable: true}
]
});
});
</script>
我想在这个jquery部分不是在查询数据
你可以使用fnCreateCell来修改你的数据。
$(document).ready(function(){
$('#LeaveList').DataTable({
processing: true,
serverSide: true,
ajax: 'leave-list',
columns: [
{data: 'id', name: 'id'},
{data: 'employee_name', name: 'employee_name'},
{data: 'employee_id', name: 'employee_id'},
{data: 'from_date', name: 'from_date'},
{data: 'to_date', name: 'to_date'},
{data: 'leave_type', name: 'leave_type'},
// {data: 'department', name: 'department'},
{data: 'status', name: 'status',
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
if (sData) {
$(nTd).addClass('text-success');
}else{
$(nTd).addClass('text-danger');
}
}
},
{data: 'created_at', name: 'created_at'},
{data: 'action', name: 'action', orderable: true, searchable: true}
]
});
});
假设您的当前代码正常工作。 那么你只需要像这样修改createdRow
部分:
...
createdRow: function ( row, data, index ) {
if ( data.status == 0 ) {
$('td', row).eq(6).addClass('text-danger').text('Pending');
} else {
$('td', row).eq(6).addClass('text-success').text('Approved');
}
},
...
但是,正如markpsmith指出的那样,更简洁的方法是使用render
选项。 你可以在这里阅读有关columns.render
。
上一篇: jQuery Datatables change value of a column based on condition
下一篇: How to display entire table tr in different color based on data