jquery Datatables case obtenir tous vérifié les lignes
J'ai un datatable dans lequel dans lequel je vais essayer d'obtenir toutes les coché les lignes. Cette table a la ligne de regroupement et utilise une case plugin de gyrocode. J'ai essayé le code figurant sur le api, mais j'ai pas eu de chance. Je ne reçois que le premier enregistrement retourné, indépendamment de ce qui est sélectionné. Le code que j'ai utilisé pour la figure ci-dessous:
var tbl;
$(document).ready(function (){
tbl = $('#example').DataTable({
columnDefs: [{
targets: 0,
data: 2,
'checkboxes': {
'selectRow': true
}
},
{ "visible": false, "targets": 1 }],
select: {
style: 'multi'
},
order: [[1, 'asc']],
iDisplayLength: 10,
drawCallback: function () {
var api = this.api();
var rows = api.rows({ page: 'current' }).nodes();
var last = null;
api.column(1, { page: 'current' }).data().each(function (group, i) {
if (last !== group) {
$(rows).eq(i).before(
'<tr class="group"><td colspan="6">' + group + '</td></tr>'
);
last = group;
}
});
}
});
});
function getSelected(){
alert(tbl.columns().checkboxes.selected().length);
}
J'ai le code dans mon jfiddle ici. Je ne suis pas sûr si leur est interence entre la case et la ligne de regroupement? S'il vous plaît laissez-moi savoir où je vais mal.
Remarque: La case à cocher est basé sur le plugin par gyrocode datatables est la version 1.10.12
- Quel est donc le problème?Pas très clair dans votre question
- Il semble fonctionner, en fait, si vous ne
console.log(tbl.columns().checkboxes.selected())
, vous pouvez voir qu'il y a un tableau qui contient l'unique, l'étudiant sélectionné id. Si vous utiliser des Identifiants différents par ligne, je peux le voir travailler. Lelength
propriété n'est pas ce que vous voulez. - Vous avez besoin d'utiliser
column(0).checkboxes.selected()
à la place. Aussi, vous avez des id en double dans la table qui affecte le nombre total. - Qui fonctionne aussi bien. Merci pour la clarification.
Vous devez vous connecter pour publier un commentaire.
J'ai fait un test rapide et Eric Guan est correct. Je vais juste poster un extrait de code:
Voir: https://jsfiddle.net/nwmmbLso/3/
Je viens de remarquer que vous avez duplicatie d'Étudiant est ce qui peut également provoquer un comportement inattendu de la bibliothèque que vous utilisez. Le code fourni ci-dessus devrait fonctionner si l'Étudiant Id sont uniques.
column(0).checkboxes.selected()
si une seule colonne de données est accessible, bien que votre code serait trop de travail.var id = "";
var oTable = $(".tableau").dataTable();