不能得到第二个数据表自己的CSS

时间:2013-09-20 13:54:28

标签: javascript jquery html datatables

我试图让我的第二个数据表使用自己的css(对于交替的行颜色)一旦我添加了{sClass:“myCustomClass”},我的jquery就不再激活了。

demo_table.css的Css

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* DataTables row classes
*/
table.display tr.odd.gradeA {
background-color: #ddffdd;
}

table.display tr.even.gradeA {
background-color: #eeffee;
}

table.display tr.odd.gradeC {
background-color: #ddddff; 
}

table.display tr.even.gradeC {
background-color: #eeeeff;
}

table.display tr.odd.gradeX {
background-color: #ffdddd;
}

table.display tr.even.gradeX {
background-color: #ffeeee;
}

table.display tr.odd.gradeU {
background-color: #ddd;
}

table.display tr.even.gradeU {
background-color: #eee;
}


tr.odd {
background-color: #E2E4FF;
}

tr.even {
background-color: white;
}

table.display tr.even.myCustomClass { background-color: #FFFFCC; }
table.display tr.odd.myCustomClass { background-color: #ffeeee; }

Jquery我用来初始化数据表,它在添加sclass之前工作得很好,但没有我添加的任何css。

    function nestedtable(systemid) {
    var dbselected = $('#dblist').find(":selected").text();

    $('#nested_id').dataTable({
        "sAjaxSource": '/php/connect/nestedsearchtablequery.php',
        "bProcessing": true,
        "bDeferRender": true,
        "bDestroy": true,
        "sAjaxDataProp": "",
        "fnServerParams": function (aoData) {
            aoData.push({ "name": "db", "value": dbselected}),
            aoData.push({ "name": "systemid", "value": systemid });
        },
        "aoColumns": [
            {  sClass: "myCustomClass" }, 
            { "mData": "eventtime" },
            { "mData": "eventtype" },
            { "mData": "cid_name" },
            { "mData": "cid_num" },
            { "mData": "cid_ani" },
            { "mData": "cid_dnid" },
            { "mData": "exten" },
            { "mData": "context" },
            { "mData": "appname" },
            { "mData": "channame" }, ]
        //"bJQueryUI": true  //This is commented out to remove the smooth datatable style
    });
}

我有两个表#table_id和#nested_id,我正在尝试更改#nested_id上的行颜色。

这是#nested_id

的jquery
 function fnFormatDetails(oTable, nTr, systemid) {

    var sOut =
'<div class="innerDetails">' +
  '<table id="nested_id" cellpadding="5" cellspacing="0" border="0" style="padding-left:50px; background:white;">' +
    '<thead>'
                 + '<tr>'
                     + '<th>Time</th>'
                     + '<th>Event</th>'
                     + '<th>CNAM</th>'
                     + '<th>CNUM</th>'
                     + '<th>ANI</th>'
                     + '<th>DID</th>'
                     + '<th>Exten</th>'
                     + '<th>Context</th>'
                     + '<th>AppName</th>'
                     + '<th>Channel</th>'
                 + '</tr>'
             + '</thead>'
             + '<tbody></tbody>'
    '</table>' +
'</div>';
    return sOut;
}

这是#table_id

的html
    <body>
    <div id="stable" style=" margin-left: 2%; margin-right: 2%; display: none">
        <table class="display" id="table_id">
             <thead>
                 <tr>
                     <th>Call Date</th>
                     <th>Recording</th>
                     <th>System</th>
                     <th>CallerID</th>
                     <th>App</th>
                     <th>Destination</th>
                     <th>Disposition</th>
                     <th>Duration</th>          
                 </tr>
             </thead>
             <tbody></tbody>    
        </table>
    </div>           
</body>

1 个答案:

答案 0 :(得分:1)

我认为问题出在您的CSS中... sClass将课程放在列中的每个td上,而不是tr。因此永远不会应用tr.even.myCustomClass

应该更像是:

table.display tr.even td.myCustomClass { background-color: #FFFFCC; }
table.display tr.odd td.myCustomClass { background-color: #ffeeee; }

编辑基于对OP的更新

您可以避免一起使用sClass,只使用特定于嵌套表的CSS:

您的html中的表格遗失class="display"。所以你可以添加,你的CSS是:

table.display#nested_id tr.even { background-color: #FFFFCC; }
table.display#nested_id tr.odd { background-color: #ffeeee; }

或者你可以把它关掉,你的CSS是:

table#nested_id tr.even { background-color: #FFFFCC; }
table#nested_id tr.odd { background-color: #ffeeee; }

最后,您需要为

添加CSS
table#nested_id tr.even .sorting_1{ /*background-color here*/ }
table#nested_id tr.odd .sorting_1{ /*background-color here*/ }

有关工作示例,请参阅此jsfiddle