我正在使用jQuery DataTables,我可以查看行数据并将行着色。
以下是创建数据表的代码:
var $dataTable = $('#example1').DataTable({
"data": data,
"dataType": "json",
"iDisplayLength": 25,
"order": [[6, "desc"]],
"scrollY": 550,
"scrollX": true,
"bDestroy": true,
"stateSave": true,
// here is the part that styles the row
"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull)
{
if (aData[12] == "Y"){$('td', nRow).css('background-color', '#EE6363');}
if (aData[9] == "Y"){$('td', nRow).css('font-weight', 'bold');}
}
});
因此,如果您在上面的代码中注意到,第一个if
语句将检查第12列的行数据(称为REJECTED)是否为“Y”。如果是这样,请将整行设为红色。
第二个if
语句检查第9列的行数据(称为URGENT)是否为“Y”。如果是这样,请将整行的文本设为粗体。
我想做的是让该列的单元格为红色而不是整行,主要是第一行。
如何更改上面的代码才能实现此目的?
答案 0 :(得分:0)
我无法测试它....
但我会尝试这样的事情:
if (aData[12] == "Y"){$('td', nRow)[12].css('background-color', '#EE6363');}
或者这个棘手的事情:
if (aData[12] == "Y"){$('td', nRow).parent().children()[12].css('background-color', '#EE6363');}
如果从零开始:
if (aData[12] == "Y"){$('td', nRow)[11].css('background-color', '#EE6363');}
或者:
if (aData[12] == "Y"){$('td', nRow).parent().children()[11].css('background-color', '#EE6363');}
答案 1 :(得分:0)
以下是为目标单元格着色的代码:
if (aData[12] == "Y"){$('td', nRow).eq(1).css('background-color', '#BF5FFF');}
通过添加eq(1),我可以对数据表中的第二个单元格进行定位和着色。这就是我开始工作的方式。