Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Manipular dom generado con ajax.

Estas en el tema de Manipular dom generado con ajax. en el foro de Javascript en Foros del Web. Muy buenas a todos, soy novato en ajax y tengo una gran duda. Yo tenia una tabla que se generaba del resultado de una consulta ...
  #1 (permalink)  
Antiguo 06/05/2013, 21:27
 
Fecha de Ingreso: enero-2013
Mensajes: 13
Antigüedad: 11 años, 3 meses
Puntos: 0
Manipular dom generado con ajax.

Muy buenas a todos,

soy novato en ajax y tengo una gran duda.

Yo tenia una tabla que se generaba del resultado de una consulta en sql.

Los registros de la tabla contenían tres columnas, una descripción del producto, un select, y una imagen.

Al modificar el valor de un select contenido en la tabla, este llamaba a una función en jquery que me realizaba determinada acción y me funcionaba perfecto.

Pero quise mejor usar ajax, es decir, al presionar un boton , llamo a una funcion ajax que me pasa el id a la pagina en php y esta me devuelve la tabla.

Uso: $("#mitabla").html(dato); para mostrar la tabla

Y en realidad me muestra la tabla generada desde ajaz.

Pero ahora no me funcionan los selects contenidos en cada fila de la tabla, es decir, me los muestra con sus valores, pero al seleccioar algun valor ( evento onChange) no se me ejecuta la función que tenía en jquery como lo hacía cuando no los generaba desde aja.
La pregunta en sí es: cómo puedo manipular elementos generados desde ajax?
  #2 (permalink)  
Antiguo 06/05/2013, 22:00
 
Fecha de Ingreso: enero-2013
Mensajes: 13
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Manipular dom generado con ajax.

Ok, ya lo solucioné con
$("select").live("change", function(){

Gracias.
  #3 (permalink)  
Antiguo 07/05/2013, 14:07
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Manipular dom generado con ajax.

Buenas,

No es una buena práctica usar el método live. Dependiendo de la versión de jquery que uses puedes usar el método delegate (en versiones antiguas) o el método on.

Código Javascript:
Ver original
  1. // JQuery < 1.7
  2. $("#mitabla").delegate("select", "click", function() {} );
  3.  
  4.  
  5. // jQuery 1.7+
  6. $("#mitabla").on("click", "select", function() {});

Explicación de porqué no debe usarse live:

https://www.google.es/url?sa=t&rct=j...gayZw9CC-GkMFA
Un saludo.
  #4 (permalink)  
Antiguo 07/05/2013, 20:19
 
Fecha de Ingreso: enero-2013
Mensajes: 13
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Manipular dom generado con ajax.

Tienes razón, ya me convencí del porque no usar live, utilizé ON.

Gracias.

Etiquetas: ajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:25.