Обновить dataTable после обновления таблицыJquery

Программирование на jquery
Ответить
Anonymous
 Обновить dataTable после обновления таблицы

Сообщение Anonymous »

У меня есть HTML-таблица tabDevis:




numDevis
libProduit
codEtat






Я поместил некоторые данные с помощью вызова 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;
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(), но все равно получаю удаленную строку, удаленную из базы данных.

Это действие удаления выполняется с помощью другой функции javasript:

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
});
}


Как обновить dataTable?

Я пытался вызвать $('#tabDevis').dataTable().fnDestroy(); непосредственно перед вызовом putDevis()`, но это не работает.

ИЗМЕНИТЬ О РЕШЕНИИ

Способ уничтожить dataTable вот здесь:

var table = $('#tabDevis').DataTable();
table.destroy();
var listeDevis = $("#tabDevis").find("tbody");


А затем нарисуйте его после вызова dataTable:

var table = $('#tabDevis').DataTable();
table.draw();


Подробнее здесь: https://stackoverflow.com/questions/367 ... ble-update
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»