3

对于服务器端加载的数据表,我正在尝试根据值更改行颜色,但它不起作用。我在我的 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。这部分正在工作(我可以看到类已更改的萤火虫),但是我看不到更改(我没有看到该行变为红色背景)。我错过了什么?另外,这是一种好方法还是更清洁的方法是直接从 ajax 更改颜色?如果是这样,怎么做?

4

1 回答 1

3

看起来您的 dataTable 的 CSS 包装器正在覆盖您的样式 .. 也许这就是您看不到背景颜色变化的原因..

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

在这些方面可能更多

table.display.myClass 
{

 background-color: red !important
}

table.display.myClass td
{

 background-color: red !important
}

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

于 2012-10-09T22:08:15.933 回答