problema evento onclick jquery

archienemigo

No he sabido como ponerle un título más descriptivo.

Bueno, yo genero una tabla dinamicamente a partir de una BD. Digamos que si un campo tiene el valor 0 la celda es de color amarillo y si tiene el campo 1 es de color verde. Segun el color de la celda tienen un clase u otra. La clase la uso para asociar el evento click para hacer cambios. Si tiene la clase X se ejecutan unas historias le quito la clase X y le pongo la clase Y. Hasta ahi OK. Pero sin recargar la página si vuelvo a hacer click en la misma celda se vueve a ejecutar el evento click que esta asociado a la clase X en vez del que tiene asociado la clase Y. No se si me explico.

/*$(".empty-core").click(function(){
      peticion AJAX
      .................
      $(this).removeClass("empty-core");
      $(this).removeClass("warning");	

  $(this).addClass("correction-core");
  $(this).addClass("danger");
});

Aunque cambia bien las clases se sigue ejecutando la misma funcion cuando yo querria que se ejecute la asociada al click de "correction-core".

Muchas gracias.

Turco

Prueba a coger un div u otro elemento estático que cargues al inicio y que contenta la tabla, y haz lo siguiente:

$('#idDelElementoEstático').on('click', '.empty-core', function() {
      peticion AJAX
      .................
      $(this).removeClass("empty-core");
      $(this).removeClass("warning"); 

  $(this).addClass("correction-core");
  $(this).addClass("danger");
});
2 respuestas
HaxeR

#1
Para que te detecte cambios realizados en el dom llama así al método y no debería de darte problemas:

$(document).on('click','.empty-core',function(){
   //Codigo
});

No había leído a #2 xD, viene siendo lo mismo , pero sin tener que crear nada, tomas como referencia todo el document

1 respuesta
13 días después
archienemigo

#2 #3 Magia. Muchas gracias a los dos.

Usuarios habituales

  • archienemigo
  • HaxeR
  • Turco