Impossible de réinitialiser DataTable - données dynamiques pour datatable
J'ai un datatable montrant tous les employés.
Il fonctionne très bien pour tous les employés sur document.ready
.
J'ai une balise select contenant le type d'employés comme 'project_manager' & 'team_leader'
, et sur le changement de type d'employé, je suis l'appel d'une fonction get_employees(emp_type)
et en passant à l'employé sélectionné type.
Il est désiré et correcte des données en ajax réponse, mais le fait de lancer avertissement
DataTables warning: table id=example - Cannot reinitialise DataTable. For more information about this error, please see http://datatables.net/tn/3
J'ai essayé de le détruire, mais pas de chance.
aussi essayé de
$('#example').dataTable().fnClearTable();
$('#example').dataTable().fnDestroy();
c'est la compensation de la table et montrant nouvellement ajouté des données, mais l'ajout de nouvelles trier les images avec le nom de la colonne à chaque fois.
Voici mon extrait de code.
$(document).ready(function() {
get_employees('all');
});
function get_employees(emp_type)
{
$.ajax({
url: '../ajax_request.php',
type: "POST",
data: {
action: "admin_get_all_employees",
type: emp_type
},
success: function(response) {
var response = jQuery.parseJSON(response);
//$('#example').destroy(); tried this but haven’t worked
$('#example').dataTable({
"aaData": response.data,
});
}
});
}
Merci d'avance.
source d'informationauteur Pramod
Vous devez vous connecter pour publier un commentaire.
Dans la version actuelle de tables de données (1.10.4), vous pouvez simplement ajouter
destroy:true
à la configuration assurez-vous que la table est déjà présent est retiré avant d'être ré-initialisées.Cette note technique section de datatables explique la raison de cet avertissement. Les informations pertinentes à partir de là:
La documentation ci-dessus explique de deux façons de traiter ce.
Détruire: Dans ce cas, vous pouvez détruire l'objet explicitement en appelant
table.destroy();
et puis la création de la table à nouveau. Ou vous pouvez tout simplement passer àdestroy: true
option comme indiqué dans l'acceptation de réponse.À l'aide de détruire:true option:
Remarque: Cette erreur peut également se produire si vous incluez votre fichier javascript qui crée la dataTable plusieurs fois. J'ai été en utilisant apache tuiles et inclus dans la base, ainsi que la définition élargie qui a également donné lieu à cette erreur.
Essayer quelque chose comme ci-dessous