jquery - 更改数据表上的文本颜色重新加载
问题描述
我正在编写一个使用 dataTables 来显示内容的脚本。除了一个问题,这个脚本运行良好。在“rowCallback”函数中,我有根据返回的内容改变文本颜色的代码。
if(data.ToDateTime < todate){
将文本颜色更改为“红色”,否则为“黑色”。首次加载页面但使用“table.ajax.reload();”重新加载表格时,这可以正常工作 命令它不会更改文本颜色,如果data.ToDateTime < todate
.
我哪里错了,还是我做错了?
$(document).ready(function(){
var recordid;
var todate ="<?php echo $TodaysDate;?>";
var imagepath = '../../../../conf/conf_images/room/';
var noimage = '../images/no-image.png';
var onimage = '../images/on_image.png';
var offimage = '../images/off_image.png';
var roomoverrideimage = '../images/room_override_image.png';
var table = $('#userTable').DataTable( {
order: [[ 1,2,3,4,5,6, "asc" ]],
paging: false,
searching: false,
bInfo : false,
responsive: true,
fixedHeader: true,
deferRender:true,
scrollY: '75vh',
scrollCollapse: false,
ajax: {
url: 'get_conf_bookings_test.php',
dataSrc: ''
},
language: {
"emptyTable": "There are no conference bookings for <?php echo $date; ?>"
},
columnDefs: [
{
"targets": [ 5, 6, 7, 8 ],
"orderable": false
},
{
targets:[ 1 ],
className: 'zoom'
},
{
"targets": [5,6,7],
"className": "text-center"
},
],
columns: [
{ data: 'RoomName',"sWidth": "15%"},
{ data: 'ClientImage', "sWidth": "15%", render : function (data, type){
if (data != null) {
return '<img src="' + imagepath + '' +data+'" class="WayfinderSignageImage" />';
} else {
return '<img src="' + noimage + '" class="WayfinderSignageImage"/>';
}
}
},
{ data: 'ClientName' },
{ data: 'RoomFromDate' },
{ data: 'RoomFromTime' },
{ data: 'RoomToDate'},
{ data: 'RoomToTime'},
{ data: 'Override', render : function (data, type){
if (data == "1" ){
return '<img src="' + roomoverrideimage + '" class="RoomOverrideOn"/>';
} else {
return '';
}
}
},
{ data: 'WayfinderOnOff', render : function (data, type){
if (data == 1 ){
return '<img src="' + offimage + '" class="wayfinder-on"/>';
} else {
return '<img src="' + onimage + '" class="wayfinder-off"/>';
}
}
},
{ data: 'RecordID', render : function (data, type, full, meta) {
var recordid = full.RecordID;
return '<input type="button" name="edit" value="View" data-id=' + recordid + ' class="btn btn-conf-view btn-xs edit_data_modal">' }
},
{ data: 'ToDateTime',"visible": false },
],
rowCallback: function(row, data, index){
$('td', row).attr('nowrap','nowrap');
if(data.ToDateTime < todate){
$(row).find('td:eq(0)').removeClass('userTableCol0Black').addClass('userTableCol0RedLeft');
$(row).find('td:eq(2)').removeClass('userTableCol0Black').addClass('userTableCol0Red');
$(row).find('td:eq(3)').removeClass('userTableCol0Black').addClass('userTableCol0Red');
$(row).find('td:eq(4)').removeClass('userTableCol0Black').addClass('userTableCol0Red');
$(row).find('td:eq(5)').removeClass('userTableCol0Black').addClass('userTableCol0Red');
$(row).find('td:eq(6)').removeClass('userTableCol0Black').addClass('userTableCol0Red');
console.log("RED");
} else {
$(row).find('td:eq(0)').addClass('userTableCol0BlackLeft');
$(row).find('td:eq(2)').removeClass('userTableCol0Red').addClass('userTableColBlack');
$(row).find('td:eq(3)').removeClass('userTableCol0Red').addClass('userTableColBlack');
$(row).find('td:eq(4)').removeClass('userTableCol0Red').addClass('userTableColBlackCol4');
$(row).find('td:eq(5)').removeClass('userTableCol0Red').addClass('userTableColBlack');
$(row).find('td:eq(6)').removeClass('userTableCol0Red').addClass('userTableColBlack');
console.log("BLACK");
}
},
});
setInterval( function () {
table.ajax.reload();
}, 30000 );
});
解决方案
推荐阅读
- node.js - npm install 默认尝试全局安装
- amazon-web-services - 用于 @searchable 注释的 AWS Amplify 过滤器
- html - 如何在没有查看/下载限制的网站上获取音频?
- javascript - 为什么 testmysite 声称我的网站很慢?
- python-3.x - 使用 numpy 现值函数
- angular - Angular`useFactory`服务设置抛出未捕获的错误:无法解析组件的所有参数
- c++ - 如何在 C++ 中修复 SDL2'SDL_RenderClear_REAL 处的断言失败'?
- angular - 如何使用角度访问 DOM?
- python-3.x - 如何在没有时钟的情况下将整数转换为日期?
- log4j - Unirest 如何在 Java 中记录请求和响应