後,我得到了一個HTML表格tabDevis
:刷新dataTable的表更新
<table id="tabDevis" class="invisible stripe">
<thead>
<tr>
<th>numDevis</th>
<th>libProduit</th>
<th>codEtat</th>
</tr>
</thead>
<tbody></tbody>
</table>
我把一些數據與Ajax調用。這些數據來自數據庫。隨着代碼是在一個函數:
function putDevis() {
var listeDevis = $("#tabDevis").find("tbody");
var request = $.ajax({
type : "GET",
url : "/services/opp/getDevis/",
cache : false
});
request.done(function(msg) {
for (var i = 0; i < msg.length; i++) {
var devis = msg[i];
var tr = $("#template").clone();
tr.removeAttr("id");
tr.attr('id', 'devis-' + devis.id);
tr.find('#numDevis').html(devis.idOpportunite);
tr.find("#codProduit").html(devis.codProduit);
tr.find("#libProduit").html(devis.libProduit);
listeDevis.append(tr);
}
}
request.fail(function(jqXHR, textStatus, errorThrown) {
// Deal with the error
}
// Call dataTable
$('#tabDevis').DataTable({
"order" : [ [ 1, "desc" ] ],
"oLanguage" : {
...
}
"aoColumns" : [ {
"bSortable" : true
}, {
"bSortable" : true
}, {
"bSortable" : true
}]
}
}
我從另一種方式刪除我的數據庫中的一行,所以我想重新加載html表。我打電話給我的putDevis()
函數,但我仍然得到從數據庫中刪除的刪除行。
function deleteDevis(numDevis){
var requestsup = $.ajax({type: "GET",
url: "/services/ep/deleteDevis?pId=" + numDevis
cache: false
});
requestsup.done(function(msg){
putDevis();
});
requestsup.fail(function(jqXHR, textStatus, errorThrown) {
// Deal with errors
});
}
什麼是刷新數據表的方式:
此刪除操作與另一個javasript功能做了什麼?
我試着在我的putDevis()調用之前調用$('#tabDevis').dataTable().fnDestroy();
,但它不起作用。
編輯有關解決方案
的方法就是要摧毀的dataTable就在那裏:
var table = $('#tabDevis').DataTable();
table.destroy();
var listeDevis = $("#tabDevis").find("tbody");
然後DataTable中調用後繪製:
var table = $('#tabDevis').DataTable();
table.draw();
* $( '#tabDevisClient')*是不是比你用來初始化數據表* $( '#tabDevis')*各一本使用不同的元素ID? HTML頁面上是否存在帶有* #tabDevisClient * ID的元素? –
編輯問題,這是很好的tabDevis在這兩種情況下 – user3469203