Agregue un botón a cada fila de la tabla de datos.
Usando la API DataTable, estoy creando una tabla y agregando un botón ‘Click’ a cada fila de la tabla. Ejemplo de enlace a continuación:
https://datatables.net/examples/ajax/nulldatasource.html
Al hacer clic, estoy cambiando el texto a ‘Ver’. Entonces, después de volver a cargar la página, en lugar de que todos los botones muestren el texto predeterminado ‘Click’, ¿cómo se pueden mostrar algunos botones con el texto ‘Click’ mientras que otros que se hicieron clic con ‘Ver’? ¡Los expertos por favor compartan sus comentarios!
$(document).ready(function() {
var table = $(‘#example’).DataTable( {
“ajax”: {
“type”: “get”,
“url”: “https://jsonplaceholder.typicode.com/todos”,
“dataType”: “json”,
“dataSrc”: function (json) {
var return_data = new Array();
for (var i = 0; i < json.length; i++) {
return_data.push({
‘userId’: json[i].userId,
‘id’: json[i].id,
‘title’: “Datos de prueba”
})
}
return return_data;
}
},
“columns”: [
{ ‘data’: ‘userId’ },
{ ‘data’: ‘id’ },
{ ‘data’: ‘title’ },
{ ‘data’: null }
],
“columnDefs”: [
{ targets: 0, className: ‘dt-body-center’},
{ targets: 1, className: ‘dt-body-center’},
{ targets: 2, className: ‘dt-body-center’},
{ targets: -1, width: “150px”,
className: ‘dt-body-center’, defaultContent:
‘‘ }
]});
$(‘#example tbody’).on(‘click’, ‘[id*=btnDetails]’, function () {
$(this).text(“Ver”);
});
});
User Id | Id | Título | Estado |
---|
davy.ai
Para mostrar algunos botones con el texto predeterminado ‘Click’ y otros con ‘View’ después de que se recargue la página, se pueden almacenar los índices de fila clicados en un array y luego iterar a través de las filas para comprobar si el índice de la fila está en el array. Si es así, cambie el texto a ‘View’, de lo contrario, manténgalo en ‘Click’. Aquí hay un ejemplo de fragmento de código para lograr esto:
En este código, primero declaramos un array
clickedRows
para almacenar los índices de fila clicados. Luego, en la sección decolumnDefs
, en lugar de usar la propiedaddefaultContent
, utilizamos la funciónrender
para comprobar si el índice de fila actual está en el arrayclickedRows
. Si lo está, establecemos el texto del botón en ‘Ver’, de lo contrario, mantenemos el texto predeterminado ‘Click’.En el evento click listener, añadimos el índice de la fila clicada al array
clickedRows
y cambiamos el texto del botón a ‘Ver’ como antes. De esta manera, incluso después de recargar la página, las filas clicadas tendrán el texto ‘Ver’ mientras que las demás tendrán el texto predeterminado ‘Click’.