Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带彩色行的jQuery数据表_Php_Javascript_Jquery_Datatable - Fatal编程技术网

Php 带彩色行的jQuery数据表

Php 带彩色行的jQuery数据表,php,javascript,jquery,datatable,Php,Javascript,Jquery,Datatable,我需要创建一个jQueryDataTable,其中一些行的背景颜色可能为灰色,这意味着它们被禁用。只有当对应MySQL表的列“status”等于0时,行才能具有灰色背景 请看下面的代码。列“10”被隐藏。它包含状态值。如果为0,则该行应具有不同的背景色。但这是行不通的。没有错误消息。有什么想法吗 $(document).ready(function(){ $('#newspaper-b').dataTable({ "sPaginationT

我需要创建一个jQueryDataTable,其中一些行的背景颜色可能为灰色,这意味着它们被禁用。只有当对应MySQL表的列“status”等于0时,行才能具有灰色背景

请看下面的代码。列“10”被隐藏。它包含
状态
值。如果为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;
}

行没有内容,因此背景,td应改为彩色:

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

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

此处需要带有“markedrow”规则的CSS。@Denis Chmel:是的,我确实为其定义了CSS样式。对不起,我没有把它寄出去。请看更新。谢谢。aData[10]是正确的。我已经检查过了。我尝试了你的解决方案,但行仍然没有着色。请在更新后的帖子中查看我完整的CSS。好的,下一步是使用“Inspect element”(在Chrome开箱即用,安装Firebug后在Firefox中)。右键单击单元格,选择“检查元素”,在右侧窗格中跟踪错误的样式层叠。但是,通常“!important”具有最大优先级,因此您的问题可能是该行没有获得正确的类名,这仍然可以在检查时看到(在左侧窗格中,显示生成的HTML)是的,就是这样。当我选择status=0的行时,我看到样式“disactivatedRow”没有应用到它(Firebug的CSS窗口)。那么,我该如何解决这个问题呢?但当我离开时,即使在这种情况下,这个样式也不适用。也许我应该这样做:#paper-b tr.disactivatedRow td{…}?请看inspector的左痛苦,我打赌它应该是没有的(顺便说一句,尝试在inspector的代码中添加它-检查它是否会影响背景)。如果课堂上没有背景,我放弃:)