Obtener valor de atribudo DATA Jquery APEX
El ejemplo está bajo el evento CLICK sobre un elemento de un listado de Classic Report
Esta basado en la idea publicada por Magaly Iraheta en su canal de YouTube
Oracle APEX - How To Add a Button to a Classic Report
Generación del Reporte
Generamos nuestro reporte en base a los requerimientos del sistema y agregamos un una columna para las acciones, en este caso será el botón/icono de borrar.
- Con un Static ID >> regListaTecnicos
-
El campo DERIVED$01 tiene un formato HTML de salida.
Formato del botón HTML
<span class="fa fa-times-circle u-danger-text cursor deleteTec" aria-hidden="true" data-tecnico-id="#ID#"></span>.
La clase deleteTec y el atributo data-tecnico-id son claves para obtener los cambios dentro del listado.
Javascript Global
- En la declaración Global utilizamos el siguiente código Javascript
var regLista = 'regListaTecnicos';
// 1. Escuchamos todos los clicks de la region
// enviando la clase del elemento SPAN de la region
$(`#${regLista}`).on('click', ".deleteTec", function() {
//2. Obtenemos el valor de "data-tecnico-id", con ".data"
let idTecnico = $(this).data("tecnicoId");
//3. Este es un AJAX APEX, que llama un proceso de remover elemento del listado, simplemente un DELETE sobre la tabla correspondiente
apex.server.process('delTecnico',
{
x01: idTecnico,
pageItems: '#P_EMPRESA'
}
, {success: function(pData){
// 4. En caso de que haya un error, retorna 1
// el indicador de error, caso contrario 0, y realizar un refresh sobre la region de regListaTecnicos
if (pData.ind_error == 1){
alert(pData.error);
} else {
apex.region( regLista ).refresh();
}
}
}
);
});
Conclusión
En resumen, es solo una opción para poder obtener los datos de ciertos elementos del DOM. Existen multiples formas de hacer ciertas características en un sistema. Espero que les sea de utilidad y no dude en comentar.
Atte.: @PabloACespedes \(^_^'), desde Paraguay