web-dev-qa-db-fra.com

table.row n'est pas une fonction

J'essaie d'implémenter les détails des lignes dans mes datatables juste comme ceci exemple

Lorsque je clique sur le show plus image de ma table, je reçois une erreur dans ma console firebug en disant:

TypeError: oTable.row is not a function
var row = oTable.row(tr);

Voici également un violon de mon code qui génère cette erreur.

Si je comprends bien, la fonction row() de mes tables de données n’est pas trouvée. Mais je ne comprends pas ... J'utilise la dernière version de datatables avec jquery version 1.11.1 (et non 1.11.0 comme le montre fiddle), comme dans l'exemple (site Web datatables).

Je suis coincé ... Quelqu'un a une idée de la raison pour laquelle je reçois cette erreur?

Merci beaucoup

41
MaVRoSCy

Je ne sais pas quelle est la différence entre les fonctions dataTable et DataTable, mais votre code a fonctionné lorsque j'ai initialisé le tableau de données à l'aide de la deuxième fonction.

 oTable = $('#tblCasesMain').DataTable({ ...

Voici le violon , qui ne donne une erreur que sur la fonction format qui n'est pas définie.

Remarque: j'ai changé le nom de cette fonction selon cet exemple _.

Mise à jour: J'ai fait quelques recherches et obtenu la réponse. Jetez un coup d’œil à la note de mise à niveau _ ​​ ici qui indique ce qui suit:

Si vous effectuez une mise à niveau à partir de DataTables 1.9 ou version antérieure, vous remarquerez peut-être qu'un D majuscule est utilisé pour initialiser le DataTable ici. $ (). DataTable () renvoie une instance de l'API DataTables, tandis que $ (). DataTable () initialise également un DataTable, mais renvoie un objet jQuery.

114
Karlen Kishmiryan

Il n'est pas nécessaire d'utiliser .DataTable() au lieu de dataTable()

Ajoutez simplement .api(). Il renverra l'objet qui définit la méthode row() requise.

exemple: var row = oTable.api().row(tr);

43
U. Kadner

C'est parce que vous n'avez pas mentionné Function

Vérifier le lien de travail de mise à jour http://jsfiddle.net/2gLqgL7m/7/

3
user3209031

Si les réponses ci-dessus ne fonctionnent pas dans votre cas, essayez ci-dessous alterner.

var row = $('#tblSample').DataTable().row(tr);

Au lieu de

var oTable =  $('#tblSample').dataTable( {
    //Code
 });
var row = oTable.row(tr);
1
Praveen Mitta

Mettre à jour dataTable() wuth DataTable() Inutile d'utiliser .dataTable ()

Utilisez .DataTable()

Exemple :

oTable = jQuery('#tblCasesMain').DataTable({ ...
0
Mr. HK