Ich habe eine Datentabelle, in der ich versuche, alle überprüften Zeilen zu bekommen. Diese Tabelle hat eine Zeilengruppierung und verwendet ein Checkbox-Plugin von gyrocode. Ich habe den Code auf der api aufgeführt versucht, aber ich hatte kein Glück. Ich bekomme nur den ersten Datensatz zurück, unabhängig davon, was ausgewählt ist. Der Code, den ich für das verwendet wird unten dargestellt:jquery Datatables checkbox alle gecheckten Zeilen bekommen
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);
}
ich den Code in meinem jfiddle hier haben. Ich bin mir nicht sicher, ob sie zwischen der Checkbox und der Zeilengruppierung liegen. Bitte lassen Sie mich wissen, wo ich falsch liege.
Hinweis: Das Kontrollkästchen basiert auf dem Plugin von Den Datentabellen gyrocode ist Version 1.10.12
Also was ist das Problem? Nicht ganz klar in Ihrer Frage – Mihai
Es scheint tatsächlich zu arbeiten, wenn Sie 'console.log (tbl.columns(). Checkboxes.selected())', können Sie das dort sehen ist ein Array, das die eindeutigen, ausgewählten Studenten-IDs enthält. Wenn Sie verschiedene IDs pro Zeile verwenden, kann ich sehen, dass es funktioniert. Die 'length'-Eigenschaft ist nicht das, was Sie wollen. –
Sie müssen stattdessen 'column (0) .checkboxes.selected()' verwenden. Außerdem haben Sie doppelte IDs in der Tabelle, die sich auf die Gesamtzahl auswirken. –