我试图让我的第二个数据表使用自己的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>
答案 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; }
最后,您需要为
添加CSStable#nested_id tr.even .sorting_1{ /*background-color here*/ }
table#nested_id tr.odd .sorting_1{ /*background-color here*/ }
有关工作示例,请参阅此jsfiddle。