Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2013, 15:23
Avatar de xalupeao
xalupeao
 
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años, 7 meses
Puntos: 12
Agregar <tr> a una tabla dinamicamente (problema con contador)

Estimados,

Estoy generando una tabla y le estoy dando la opcion al usuario de agregar màs filas si es que las requiere.

Estoy generando el codigo y funciona. El problema esta que cuando borro una fila el contador de filas funciona de manera incorrecta.

Lo que pasa en lo siguiente. tengo un evento click en una clase .addnew esta clase se genera a partir del html inicial. Luego cada vez que se da click en .addnew se genera dinamicamente un <tr> en el cual se reemplaza esta clase .addnew por .remove. La clase .remove tiene como funcion borrar el <tr> segun corresponde (esto lo hace). El problema esta que cada vez que se hace click en un .remove el codigo se ejecuta más de una vez (se ejecuta por cada .remove que existe).

Código Javascript:
Ver original
  1. $('.addnew').click(function(e) {
  2.    //codigo para copiar el tr --> ver en http://jsfiddle.net/REk5r/1/
  3.  
  4.    $('.remove').on('click', function(e) {
  5.       e.preventDefault();
  6.       $(this).parent().parent().remove();
  7.       console.log('click');
  8.    })
  9. });

Pueden replicar el problema asi
Ingresan a http://jsfiddle.net/REk5r/1/
Le dan a "Agregar" en tabla 2 veces y luego le dan a borrar y luego nuevamente a agregar, veran que el numero de la fila cambia a un numero negativo.


Espero que me puedan ayudar.
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.

Última edición por xalupeao; 23/10/2013 a las 16:06