
Problema con eventos
Publicado por David (3 intervenciones) el 13/05/2015 20:52:00
Buenas tardes.
Ante todo quiero presentarme, puesto que es la primera vez que hago uso de este foro. Así que un placer estar por aquí, y al igual que recibir ayuda espero también poder ayudaros en otros temas.
Mi problema es el siguiente:
En un formulario que construyo dinámicamente con javascript tengo que crear los eventos asociados a algunos campos. Este formulario tiene forma de tab, pudiendo tener más o menos pestañas. La cosa es que utilizo un bucle "for" que va recorriendo las pestañas para crear estos eventos, pero solo se generan los de la última pestaña que recorre el bucle.
Pongo el código: (response lo obtengo en json de una llamada ajax previa. nservicios es el numero de pestañas, servicios es una matriz con el nombre de la pestaña y el id de esa pestaña)
En resumen, si se cargan 3 pestañas de un formulario solo funciona el evento "change" de la ultima pestaña.
Sé que el problema es que el evento que se crea es con el que termina valiendo id_servicio, pero no se como resolverlo.
Espero alguien me pueda ayudar, muchas gracias.
Ante todo quiero presentarme, puesto que es la primera vez que hago uso de este foro. Así que un placer estar por aquí, y al igual que recibir ayuda espero también poder ayudaros en otros temas.
Mi problema es el siguiente:
En un formulario que construyo dinámicamente con javascript tengo que crear los eventos asociados a algunos campos. Este formulario tiene forma de tab, pudiendo tener más o menos pestañas. La cosa es que utilizo un bucle "for" que va recorriendo las pestañas para crear estos eventos, pero solo se generan los de la última pestaña que recorre el bucle.
Pongo el código: (response lo obtengo en json de una llamada ajax previa. nservicios es el numero de pestañas, servicios es una matriz con el nombre de la pestaña y el id de esa pestaña)
1
2
3
4
5
6
7
8
9
10
11
12
13
var i;
var servicio='';
var id_servicio=0;
for(i=0;i < response.nservicios; i++) {
servicio=response.servicios[0][i];
id_servicio=response.servicios[1][i];
$("#serinternet_formapago"+id_servicio).on("change", function() {
var descripcion=$("#serinternet_formapago"+id_servicio+" option:selected").attr('content');
$('#serinternet_formapago_des'+id_servicio).val(descripcion);
});
}
En resumen, si se cargan 3 pestañas de un formulario solo funciona el evento "change" de la ultima pestaña.
Sé que el problema es que el evento que se crea es con el que termina valiendo id_servicio, pero no se como resolverlo.
Espero alguien me pueda ayudar, muchas gracias.
Valora esta pregunta


0