2014-10-03 67 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