Llamada a funcion jquery deja de funcionar
Publicado por Luis (7 intervenciones) el 03/10/2016 02:39:30
Hola amigos. Estoy aprendiendo php y jquery, el tema es que venía bien hasta que hace una semana me topé un problema , y realmente nadie me pudo ayudar hasta ahora , quizás entendiendo el problema podría buscar o cambiar el código.
Estoy haciendo un altas baja modificación de productos en la misma página, uso php jquery y ajax.
En index.php tengo una tabla que se llena al iniciar con una consulta php y donde las 2 ultimas columnas son links, editar y borrar. Presionando alli , traigo el registro y lo vuelco a un formulario donde puedo editarlo o lo que sea. Hasta ahí todo ok. Como la consulta del inicio me carga "todos" los productos , incluí un select con categorías a los efectos de filtrar. Con el change del select mando la categoria al jquery y este me borra el tbody de la tabla y lo regenera con los productos correspondientes a esa categoria.
Aqui surge el inconveniente ... con la tabla regenerada ... los links editar y borrar ( que me debieran traer el producto por su id y llenar los input text de un formulario ) ya no funcionan . Luego de incontables cambios y pruebas ... llenando de alertas y console.log , encuentro que tras regenerar la tabla la llamada no entra a la funcion ( ni idea que pasa ..)
Mas tarde probé duplicando la funcion al terminar el bloque $( document )..... , puse :
$( document ).ajaxStop(function() {blabla ........ y la función que es $('a#edit-product').on('click', function(event) y ahi ... si funciona !!
El tema es que este problema me obliga a duplicar cualquier funcion para que funcione con los productos filtrados , y me agrega un problema nuevo , cuando clickeo en el select 1 vez, entra a ajax.stop , y en la consola me muestra 1 ( completó la funcion) , clickeo la segunda vez y la consola me muestra 3 , clickeo la tercera y me muestra 5 !!!! , en resumen , si alguien me puede ayudar explicando que ocurre y como solucionarlo me volveran las ganas de seguir avanzando ... me dejó mal no encontrar manera de entender por que ocurre ...
Paso los pastebin del código involucrado :
miscript.js : http://pastebin.com/B72cydHL
index.php : http://pastebin.com/EuLjdnt0
Gracias !!!
Y
Estoy haciendo un altas baja modificación de productos en la misma página, uso php jquery y ajax.
En index.php tengo una tabla que se llena al iniciar con una consulta php y donde las 2 ultimas columnas son links, editar y borrar. Presionando alli , traigo el registro y lo vuelco a un formulario donde puedo editarlo o lo que sea. Hasta ahí todo ok. Como la consulta del inicio me carga "todos" los productos , incluí un select con categorías a los efectos de filtrar. Con el change del select mando la categoria al jquery y este me borra el tbody de la tabla y lo regenera con los productos correspondientes a esa categoria.
Aqui surge el inconveniente ... con la tabla regenerada ... los links editar y borrar ( que me debieran traer el producto por su id y llenar los input text de un formulario ) ya no funcionan . Luego de incontables cambios y pruebas ... llenando de alertas y console.log , encuentro que tras regenerar la tabla la llamada no entra a la funcion ( ni idea que pasa ..)
Mas tarde probé duplicando la funcion al terminar el bloque $( document )..... , puse :
$( document ).ajaxStop(function() {blabla ........ y la función que es $('a#edit-product').on('click', function(event) y ahi ... si funciona !!
El tema es que este problema me obliga a duplicar cualquier funcion para que funcione con los productos filtrados , y me agrega un problema nuevo , cuando clickeo en el select 1 vez, entra a ajax.stop , y en la consola me muestra 1 ( completó la funcion) , clickeo la segunda vez y la consola me muestra 3 , clickeo la tercera y me muestra 5 !!!! , en resumen , si alguien me puede ayudar explicando que ocurre y como solucionarlo me volveran las ganas de seguir avanzando ... me dejó mal no encontrar manera de entender por que ocurre ...
Paso los pastebin del código involucrado :
miscript.js : http://pastebin.com/B72cydHL
index.php : http://pastebin.com/EuLjdnt0
Gracias !!!
Y
Valora esta pregunta


0