Cómo incorporar controles para seleccionar todos los elementos en una página que muestra los contenidos a través de DataTables
Incluir javascript e inicializar objeto Selection con el modelo de datos
<script src="../app/template/js/classlife.selection.js"></script>
<script>Selection.start({model:'student'});</script>
En el atributo columns / render de la configuración del objeto DataTable, incluir este código para que cada primer columna incluya un checkbox de class «selection» con el id «limpio» del elemento. En este caso el student_id.
$(".tSortAjax").dataTable(
{
...
"columns": [
{ "data": null,
"render": function (data){
editor = '<input type="checkbox" class="selection" value="'+parseInt(data.student_id)+'">';
return editor
}
},<?= $colnames;?>],
...
}
Ejemplo de uso en otras páginas donde se necesite acceder por javascript a acciones como limpiar la selección, el código sería como el siguiente donde $target será el modelo de datos que corresponda («student», «teacher»…) y la inclusión de la librería «classlife.selection.js» permite hacer llamadas vía javascript.:
<script src="../app/template/js/classlife.selection.js"></script>
<script>
// iniciar objeto Selection
Selection.start({model:'<?=$target?>'});
// listener para un botón que limpia la selección actual
$(document).on('click', '.selection-clear', function(evt) {
Selection.clear(function(){
location.reload();
})
}) ;
</script>