2

我需要创建一个 jQuery 数据表,其中某些行可能具有灰色背景色——这意味着它们已被禁用。仅当相应 MySQL 表的“状态”列等于 0 时,行才能具有灰色背景。

看看下面的代码。'10' 列被隐藏。它包含status价值。如果为 0,则该行应具有不同的背景颜色。但这不起作用。没有错误信息。有任何想法吗?

$(document).ready(function(){
              $('#newspaper-b').dataTable({
              "sPaginationType":"full_numbers",
              "aaSorting":[[4, "asc"]],
              "aoColumns": [null,null,null,null,null,null,null,null,null,null,
                            {"bSearchable": true, "bVisible": false},null,null],
              "bJQueryUI":true,
              'fnRowCallback': function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
                    if(aData[10]=="0"){
                        nRow.className = "disactivatedRow";
                    }
                    return nRow;
                }
              });

CSS

.disactivatedRow td { 
    background-color:#ffbba9 !important;
    color: #e6e6fa;
}
#newspaper-b {
    border-collapse: collapse;
    border-color: #B7DDF2;
    border-style: solid;
    border-width: 1px;
    font-family: Arial,Helvetica,sans-serif;
    font-size: 11px;
    margin: 0;
    text-align: left;
    width: 480px;
}
#newspaper-b th {
    background: none repeat scroll 0 0 #EBF4FB;
    border-color: lightgray;
    font-size: 11px;
    font-weight: bold;
    padding: 15px 10px 10px;
}
#newspaper-b tbody tr td {
    background: none repeat scroll 0 0 #FFFFFF;
}
#newspaper-b td {
    border-top: 1px dashed #FFFFFF;
    color: #000000;
    padding: 10px;
}
#newspaper-b tbody tr:hover td {
    background: none repeat scroll 0 0 #FFCF8B;
    color: #000000;
}
#newspaper-b tbody tr.selected td {
    background: none repeat scroll 0 0 #FFCF8B;
    color: #000000;
}
4

1 回答 1

2

Row 没有内容因此背景, td 应该是彩色的:

.disactivatedRow td { 
    background-color:#ffbba9 !important;
    color: #e6e6fa;
}

如果仍然无法解决,我建议您在 if 之外使用 console.log(aData[10])。为了使 console.log 使用 Chrome/Firefox,通过 F12 找到控制台输出并查看 aData[10] 包含的内容,也许您需要 aData[9] (程序员使用从零开始计数;)。

于 2012-05-26T20:11:13.403 回答