x
x
項目中用到的Table都是用Datatables插件來搞得;
以前都是生成一般性的table;
近期要生成一些復雜表頭,合並單元格之類的;
研究了一下.
x
去官網上也查到了[復雜表頭(rowspan 和 colspan)(Complex headers (rowspan and colspan))],[復雜表頭], 但是只是html代碼,蛋疼啊...
后來看到了[創建行回調(Row created callback)]哪里的時候 ,豁然開朗!!! 先上行回調的官網js代碼>>>
$(document).ready(function() { $('#example').dataTable( { "createdRow": function ( row, data, index ) { if ( data[5].replace(/[\$,]/g, '') * 1 > 4000 ) { $('td', row).eq(5).css('font-weight',"bold").css("color","red"); } } } ); } );
最終解決方案(修改下上面的代碼即可)
$(document).ready(function() { $('#example').dataTable( { "createdRow": function ( row, data, index ) { //生成了行之后,開始生成表頭>>>
if (index == 1) {
var innerTh = '<tr><th rowspan="2">Name</th>';
var columnsCount = 3;//具體情況
innerTh +='<th colspan="2">Information</th>';
innerTh +='<th colspan="3">Contact</th>';
innerTh += '</tr>';
//table的id為"id_table"
document.getElementById('id_table').insertRow(0);
var $tr = $("#id_table tr").eq(0);
$tr.after(innerTh);
}
} } ); } );
x
總結-
其實會用[創建行回調]之后,
復雜表頭只是一個demo了,
想搞其他的只要操作table就行了,比如合並單元格,嘎嘎···
拋磚引玉了...