I am trying to emulate a class in javascript , I want to call a function that I have already set in the same document through an event onclick
, I have the following:
function clase(){
// Consultar
this.consultar = function() {
$.ajax({
type: 'POST',
url: 'url',
dataType: 'html',
data: { consulta: query },
beforeSend:function(){
},
success:function(response){
// omito lo anterior por que hasta acá esta todo bien
// el problema lo tengo al momento de hacer llamar la función
var datos = JSON.parse(response);
// datatable
var idTabla = $('#tabla').DataTable({
lengthMenu:[[5,10],[5,10]]
});
// limpio el datatable
idTabla.row().clear();
for (var i = 0; i < datos.length ; i++) {
// inserto los datos en el datatable
idTabla.row.add([
datos[i].documento,
datos[i].nombre+" "+datos[i].apellidos,
datos[i].correo,
datos[i].telefono,
datos[i].email,
// creo una etiqueta <a></a> y en este llamo un evento "onclick" en el cual deseo llamar la otra funcion
'<a href="#" class="on-primary edit-row" onclick=\' this.estado("'+datos[i].id+'", "'+datos[i].estado+'"); \'><i id="'+datos[i].id+'"class="fa fa-check" aria-hidden="true"></i></a>'
]);
}
idTabla.draw(true);
}
});
}
this.estado = function(id, estado){
$.ajax({
type: 'POST',
url: "url",
dataType:"html",
async: true,
data: {
id:id,
ingresoNuevo: 3,
estado: estado
},
beforeSend:function(){
$("#"+id).removeClass().addClass( "fa fa-refresh fa-spin" );
},
success:function(response){
// llamo la función de consulta para volver a mostrar la tabla esta ves con el estado actualizado
this.consultar();
}
});
}
}
It should be noted that some data is missing, but I omitted it because I think it is irrelevant to the question since what I am looking for is to know how I can call the function estado
in the `onclick event.
The inline method would be:
Using jQuery event handling and assuming everything is already defined:
Another method you can use is to store it in a variable:
And when you need it:
Even then you could make a "type" Singlenton, but well it all depends on what you want to do.