2014-10-03 72 views
0

我有一個HTML下拉,最初填充和顯示數據表。數據來自json數組。一旦下拉改變,我會得到重新初始化錯誤並且無法修復它。數據表重新加載更改事件

我試過table.ajax.reload和table.fnReloadAjax();我和數據表一起工作,所以對他們來說不是最好的。

下面是代碼:

function Population() { 
var table = $('#Population').dataTable(); 

$("#quickStats").change(function() { 

    var optionValue = $("#quickStats").val(); 
    console.log(optionValue); 

    if (optionValue == 1) { 
     $("#display").append('<table cellpadding="0" cellspacing="0" border="0" class="display" id="Population">' +    
     '<thead><tr><th>Demographic</th><th>Total</th></thead>' 
     + '</table>'); 


    $('#Population').dataTable({ 
     "data": usPopulation, 
     "bJQueryUI":true, 
     "columns": [ 
      { "data": "Demographic" }, 
      { "data": "Total" } 

     ], 
    }); 
} 
    table.ajax.reload(); 

}); 
} 

回答

1

嘗試創造新的前銷燬前一個:

$('#Population').dataTable().fnDestroy(); 


$('#Population').dataTable({ 
     "data": usPopulation, 
     "bJQueryUI":true, 
     "columns": [ 
      { "data": "Demographic" }, 
      { "data": "Total" } 

     ], 
    }); 

或這樣做:

var table = $('#Population').dataTable({ 
      "data": usPopulation, 
      "bJQueryUI":true, 
      "columns": [ 
       { "data": "Demographic" }, 
       { "data": "Total" } 

      ], 
     }); 

table.draw(); 
+0

銷燬工作比表更好。重繪() – 2014-10-03 19:48:23