0
我正在使用數據表以及類似Button,FixedColumns的擴展。我的腳本代碼:未定義的錯誤數據表jQuery
的jQuery:
function getData(id)
{
if($.fn.DataTable.isDataTable("#tableid"))
{
$("#tableid").DataTable().clear().destroy(false);
}
$.ajax({
type: 'POST',
url: "<?= base_url(); ?>data/view/"+id,
success: function (data, textStatus, jqXHR) {
console.log(data);
if(data.length==0)
{
$("#overlay").fadeIn(500, function() {
$("#tableid_cont").css('visibility', "hidden");
});
//alert("No data in DB!");
}
else
{
$("#tableid").html(data);
initTable();
}
}
});
}
function initTable()
{
var table = $("#tableid").DataTable({
scrollY: "100%",
scrollX: true,
scrollCollapse: true,
paging: false,
fixedColumns: true,
ordering: false,
lengthChange: false,
"bInfo": false,
buttons: ['excel'],
"drawCallback": function (settings) {
$("#overlay").fadeOut(500, function() {
$("#tableid_cont").css('visibility', "visible");
});
}
});
table.buttons().container().appendTo('#action-buttons');
}
的getData()
通過選擇HTML元素的事件onchange
和放慢參數id
操縱得到一些整數值。 ajax的返回將是一個包含ID爲tableid
的HTML表的字符串。
讓我選擇值是1,2,3
我開始打電話getData(1)
,該負載並初始化沒有問題的數據表的罰款。如果值更改爲2
或3
我得到的錯誤是無法讀取未定義的屬性'dt'並且這發生在行$("#tableid").DataTable().clear().destroy(false);
。
然後再次更改值,該表格正常工作,絕對沒有錯誤。
我得出的結論是:數據表初始化後,destroy()
被調用併發生錯誤。但是實際上被毀壞了。另一次初始化可以再次完成,所以下次不會發生錯誤。
我做錯了什麼?我努力嘗試,但無法克服這個錯誤。
我的回報是不是'JSON'和使用重裝,但錯誤:null'的'無法設置屬性「數據」 –