my question is: how can I update several fields of a mysql table after selecting multiple rows in checkbox datatable with jquery and php here the code:
<script type="text/javascript">
$(document).on("ready", function(){
listar();
});
var listar = function(){
var table = $('#ghatable').DataTable({
"autoWidth": true,
"ajax":{
"method": "POST",
"url": "../modelo/llenar_datatable.php"
},
"columns":[
{"data":"id"},
{"data":"id"},
{"data":"codigo"},
{"data":"marca"},
{"data":"modelo"},
{"data":"dispositivo"},
{"data":"fecha_registro"},
{"data":"fecha_salida"},
{"data":"proceso"}
],
initComplete: function(){
var api = this.api();
new $.fn.dataTable.Buttons(api, {
buttons: [
{
extend: 'excelHtml5',
text: 'Excel',
title: 'Listado de inventarios',
titleAttr: 'Listado de inventarios'
},
{
extend: 'pdfHtml5',
text: 'PDF',
title: 'Listado de inventarios',
titleAttr: 'Listado de inventarios'
},
],
});
api.buttons().container().appendTo( '#' + api.table().container().id + ' .col-sm-6:eq(0)' );
},
"language": {
"thousands": ",",
"sProcessing": "Procesando...",
"sLengthMenu": "Mostrar _MENU_ registros",
"sZeroRecords": "No se encontraron resultados",
"sEmptyTable": "Ningún dato disponible en esta tabla",
"sInfo": " _START_ al _END_ de un total de _TOTAL_ registros - ",
"sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros ",
"sInfoFiltered": "(filtrado de un total de _MAX_ registros)",
"sInfoPostFix": "",
"sSearch": "Buscar:",
"sUrl": "",
"sInfoThousands": ",",
"bCaseInsensitive": "previousSearch.bCaseInsensitive",
"sLoadingRecords": "Cargando...",
"oPaginate": {
"sFirst": "Primero",
"sLast": "Último",
"sNext": "Siguiente",
"sPrevious": "Anterior"
},
"oAria": {
"sSortAscending": ": Activar para ordenar la columna de manera ascendente",
"sSortDescending": ": Activar para ordenar la columna de manera descendente"
},
"select": {
"rows": {
_: ' %d filas seleccionadas'
}
}
},
'columnDefs': [
{
'targets': 0,
'render': function(data, type, row, meta){
if(type === 'display'){
data = '<div class="checkbox"><input type="checkbox" class="dt-checkboxes"><label></label></div>';
}
return data;
},
'checkboxes': {
'selectRow': true,
'selectAllRender': '<div class="checkbox"><input type="checkbox" class="dt-checkboxes"><label></label></div>'
}
}
],
'select': 'multi',
'order': [[1, 'asc']]
/* [{
"searchable": false,
"orderable": false,
"targets": 1
}],
"order": [[ 1, 'asc' ]],
*/
} );
/*
table.on( 'order.dt search.dt', function () {
table.column(1, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
cell.innerHTML = i+1;
} );
} ).draw();
*/
// Handle form submission event
$('#frm-example').on('change', function(e){
var form = this;
var rows_selected = table.column(0).checkboxes.selected();
// Iterate over all selected checkboxes
$.each(rows_selected, function(index, rowId){
// Create a hidden element
$(form).append(
$('<input>')
.attr('type', 'text')
.attr('name', 'id[]')
.val(rowId)
);
});
});
}
</script>