数据表:根据单元格更改行颜色

时间:2012-10-09 22:02:57

标签: php jquery css datatables

我正在尝试根据值更改行颜色,对于服务器端加载的数据表,但它不起作用。我在我的javascript上使用了这样的代码:

$('#table').dataTable({
     'bServerSide': true,
     'bProcessing': true,
     'sAjaxSource': 'datatables/my_ajax.php',
     'iDisplayLength': 50,
     "sPaginationType": "bootstrap",
     "fnInitComplete": function(oSettings) {
         for (var i = 0, iLen = oSettings.aoData.length; i < iLen; i++) {
             if (jQuery.inArray(oSettings.aoData[i]._aData[2], food_types) != -1) {
                 oSettings.aoData[i].nTr.className = "myClass";
             }
         }
     },

myClass看起来像:

.myClass{ 
    background-color: red;
}

.myClass td {
   background-color: red; 
}

因此,基本上当每行的第二个<td>具有显示在食物类型数组上的值时,该类应该更改为myClass。这部分正在工作(我可以看到类已经改变的firebug),但是我看不到变化(我没有看到行转向红色背景)。我错过了什么?此外,这是一个很好的方法或更简洁的方法是直接改变ajax的颜色?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:3)

看起来你的dataTable的CSS包装器正在覆盖你的风格..也许这就是你没有看到backgroundcolor中的变化的原因..

看起来您需要更改应用它的类..

这些术语可能更多

table.display.myClass 
{

 background-color: red !important
}

table.display.myClass td
{

 background-color: red !important
}

更像是猜测包装器,因为我不知道datatables插件所应用的确切类..