2015-12-01 282 views
2

有一個dataTable如何在重新加載後設置dataTable的css?

<table id="list_details_livraison" class="striped cell-hovered border bordered" data-searching="true"> 
        <thead> 
         <tr> 
          <th style="text-align: center;"><?php echo _getText('detaillivraison.entete.article');?></th> 
          <th style="text-align: center;"><?php echo _getText('detaillivraison.entete.lot');?></th> 
          <th style="text-align: center;"><?php echo _getText('detaillivraison.entete.qtelivrer');?></th> 
          <th style="text-align: center;"><?php echo _getText('detaillivraison.entete.pu');?></th> 
          <th style="text-align: center;"><?php echo _getText('detaillivraison.entete.taxe');?></th> 
          <th style="text-align: center;"><?php echo _getText('detaillivraison.entete.remise');?></th> 
          <th style="text-align: center;"><?php echo _getText('detaillivraison.entete.prixtotal');?></th> 
          <th></th> 
         </tr> 
        </thead> 
        <tbody> 
        </tbody> 
       </table> 

$(document).ready(function(){ 
    var list_details_livraison = $('#list_details_livraison').DataTable({ 
      ... 
      "initComplete": function(settings, json) { 
            $(this).css("table-layout","fixed"); 
           } 
     }); 

然後,我從一個選擇要素中選擇值過濾數據表:

$('#cacher').on("change", function() { 
    var ddeb = convertDateFormat3($("#date_deb_").val()); 
    var dfin = convertDateFormat3($("#date_fin_").val()); 
    list_details_livraison.ajax.url("<?php echo RP_SSP; ?>server_processing_livraisons_frnsr.php?ddeb="+ddeb+"&dfin="+dfin+"&type="+$("#h_filtre_type_livraison").val()+"&valider="+$("#h_filtre_etre_valider").val()).load(); 
}); 

在運行時數據表的列不autowidth我做的過濾器後,我嘗試使用list_details_livraison.css("table-layout","fixed");但我有一個控制檯錯誤!那麼如何在這個時候重新應用table-layoutfixed css?

+1

您可能需要使用[drawCallback(https://datatables.net/reference/option/drawCallback)作爲'initComplete '只運行一次。 – markpsmith

回答

2

評論根據OP的要求轉換爲答案。

initComplete()只會每個表創建運行一次,所以後續尋呼之後將不會被調用,過濾等。爲此,您需要drawCallback()它獲取每draw後調用。

你只需要改變:

"initComplete": function(settings, json) { 

"drawCallback": function(settings) { 
相關問題