Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/04/2013, 11:28
Avatar de marlanga
marlanga
 
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: me saltan muchos carteles (bucles) en funcion eliminar

El problema está en
$("a.elimina").click(function(){ ....codigo.... });

Esa función al parecer la ejecutas cada vez que se crea una nueva fila, y eso tiene un problema gordo:

http://jsfiddle.net/marlanga/9WrbH/

Si pinchas en "test", no pasa nada porque no tiene ningún evento asociado a su onclick. Si pinchas en "clikc" se crea ese evento, y luego si pinchas en "test", se muestra un alert. Si pinchas muchas veces en "click", y luego en "test", se mostrarán muchos alerts.

El tema es que jquery almacena una pila de eventos. En vez de utilizar sólo el último asignado, lo que hace es ejecutar todos los eventos creados para ese elemento. En tu caso, creas el evento onclick de cada enlace cada vez que añades un registro, y aparece el problema.

Para resolverlo tienes que sacar esa función de "dar_fn_eliminar" y pornerla en el
$(document).ready(function(){ ... });
del principio.

Pero en vez de usar un
$("a.elimina").click(function(){...

Es mejor un evento delegado
$(document).on("click","a.elimina", function(){ ...

Así te ahorras crear un montón de funciones que escuchan eventos en cada enlace. Ahora solo habrá uno que hará que funcionen todos los enlaces con la clase "elimina" que hay en ese momento creados, pero también los que se creen por código en el futuro.