Soy nuevo en Datatables y tengo una tabla que muestra solo las primeras 10 filas de forma predeterminada. Estoy tratando de agregar esta clase a todas las filas, no solo para las 10 predeterminadas...
var table = $("#datatable-buttons").DataTable({...}) table.rows.removeClass('selected')y
$('tbody tr').removeClass('selected')y
$(tables.table().body()).removeClass('selected') pero sin ningún éxito :( ¿Es posible agregar/eliminar la clase select en todas las filas con solo hacer clic en un botón?
Creo que la mejor manera de agregar una determinada clase a todas las filas es durante la inicialización:
var table = $('#example').DataTable({ createdRow: function ( row, data, index ) { $(row).addClass('selected') } })Puede agregar/eliminar una clase a una fila al hacer clic usando
table.on('click', 'tbody tr', function() { var $row = table.row(this).nodes().to$(); var hasClass = $row.hasClass('selected'); if (hasClass) { $row.removeClass('selected') } else { $row.addClass('selected') } })También puede eliminar (o agregar) una clase a todas las filas por código
table.rows().every(function() { this.nodes().to$().removeClass('selected') })Todos los ejemplos en acción aquí -> http://jsfiddle.net/c67q2b4x/
Para agregar clase a todas las filas
$('#datatable tbody').on( 'click', 'tr', function () { $('#datatable tbody tr').addClass('selected'); }Para eliminar la clase de todas las filas (y seleccionar solo en la que hizo clic)
$('#datatable tbody').on( 'click', 'tr', function () { // Removing all the selections $('#datatable tbody tr').removeClass('selected'); // selecting the on which you clicked $(this).toggleClass('selected'); }