2017-09-20 19 views
0

我創建了兩個表,一個用於普通行(table1),另一個用於總行(s)(--table2)。 我想自動爲table1的寬度,並將相同的寬度應用於table2。 我試圖讓在表2 drawCallback表1的寬度和應用相同的:jQuery dataTable:如何知道應用於每列的寬度

"fnDrawCallback": function (oSettings) { 
    var i=0; 
    jQuery('#table1 tbody tr:last td').each(function() { 
    jQuery('#table2 tbody tr td:eq(' + i + ')').width(jQuery(this).width()); 
    i++; 
    }); 
} 

但有時候,table1的最後一排的寬度返回爲0 那麼,有沒有什麼辦法,我可以查詢數據table1對象,並獲取適用於它的寬度?

回答

0

dataTables設置元素的寬度爲<th>,而不是<tbody><td>'s。如果您不添加內聯CSS的標題(和基本上是不應該是必要的)最簡單的就是簡單地複製數據表注入style屬性,它包含了計算寬度"width: 63px;"等:

drawCallback: function() { 
    jQuery('#table1 thead th').each(function(i,th) { 
     jQuery('#table2 thead th:eq('+i+')') 
     .attr('style', jQuery(th).attr('style')) 
    }) 
} 

演示 - >http://jsfiddle.net/51jLt8og/