Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema al recargar el contenido de un DIV

Estas en el tema de Problema al recargar el contenido de un DIV en el foro de Frameworks JS en Foros del Web. Hola gente del foro!! cómo están?? Estoy haciendo un sistema en el que muestro la lista de resultados de la BD en un div, y ...
  #1 (permalink)  
Antiguo 05/08/2010, 07:06
Avatar de fakulicious  
Fecha de Ingreso: mayo-2008
Ubicación: Mendoza
Mensajes: 140
Antigüedad: 16 años, 6 meses
Puntos: 2
Pregunta Problema al recargar el contenido de un DIV

Hola gente del foro!! cómo están??

Estoy haciendo un sistema en el que muestro la lista de resultados de la BD en un div, y al cargar un nuevo registro o editar uno de los existentes, ese div se recarga mostrando, se vuelve a consultar a la BD y muestra los datos actualizados.

El problema es que al recargar ese div, dejan de funcionar los botones (editar y eliminar) que se encuentran dentro.

Estuve leyendo mucho y entendí que al recargar el div se cargan nuevos elementos que no estan en el DOM, por eso jQuery no identifica los eventos para estos elementos.

Encontré la función .live() pero tampoco logro hacerlo funcionar, o no tengo claro como aplicarla.

En un principio tenía este código:

Código HTML:
$(document).ready(function(){
	$('a.editarCarrera').click(function(){
		var idCarrera = $(this).attr('rel');
		$('.editarAbierto').slideUp('fast');
		$('div#editarCarrera'+idCarrera).slideDown('fast', function(){
			$(this).addClass('editarAbierto');
		});
		return false;
	});
	
	//EL RESTO DEL CÓDIGO
});
Y con eso funciona perfecto hasta que recargue el div.

Cuando encontré .live() probé de la siguiente manera

Código HTML:
$(document).ready(function(){
	$('a.editarCarrera').live('click', function(){
		var idCarrera = $(this).attr('rel');
		$('.editarAbierto').slideUp('fast');
		$('div#editarCarrera'+idCarrera).slideDown('fast', function(){
			$(this).addClass('editarAbierto');
		});
		return false;
	});
	
	//EL RESTO DEL CÓDIGO
});
Según lo que leí esa es la sintáxis de .live(), pero no funciona. Siempre que recargo el div, los botones dejan de funcionar.

Alguien identifica qué es lo que estoy haciendo mal??

Espero que alguien pueda ayudarme. Desde ya muchísimas gracias!!
__________________
Facundo
http://www.creactivo.com.ar
  #2 (permalink)  
Antiguo 05/08/2010, 07:33
Avatar de fakulicious  
Fecha de Ingreso: mayo-2008
Ubicación: Mendoza
Mensajes: 140
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: Problema al recargar el contenido de un DIV

Esto me parece muy raro, pero puede ser que tenga algo que ver que lo esté probando en el servidor local?

Lo acabo de subir a un remoto y parece no tener problemas. Hay alguna manera de evitar que ocurra esto, alguna configuración o algo?? Porque como estoy en plena etapa de desarrollo es un poco engorroso estar subiendo archivos al servidor permanentemente. Es más rápido en el local, es solo guardar y F5.

Uso el EasyPHP 5.3.2 en Win 7.

Si alguien sabe de algo, se los agradecería!

Saludos.
__________________
Facundo
http://www.creactivo.com.ar
  #3 (permalink)  
Antiguo 05/08/2010, 07:34
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: Problema al recargar el contenido de un DIV

La solución es live() o delegate() si usas 1.4.2. No se cual es el problema, el código que dejaste a mí me funciona perfecto con live().
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #4 (permalink)  
Antiguo 05/08/2010, 07:35
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: Problema al recargar el contenido de un DIV

Cita:
Iniciado por fakulicious Ver Mensaje
Esto me parece muy raro, pero puede ser que tenga algo que ver que lo esté probando en el servidor local?

Lo acabo de subir a un remoto y parece no tener problemas. Hay alguna manera de evitar que ocurra esto, alguna configuración o algo?? Porque como estoy en plena etapa de desarrollo es un poco engorroso estar subiendo archivos al servidor permanentemente. Es más rápido en el local, es solo guardar y F5.

Uso el EasyPHP 5.3.2 en Win 7.

Si alguien sabe de algo, se los agradecería!

Saludos.
el servidor no tiene que ver con el javascript. Es tu browser que lo interpreta.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #5 (permalink)  
Antiguo 05/08/2010, 07:41
Avatar de fakulicious  
Fecha de Ingreso: mayo-2008
Ubicación: Mendoza
Mensajes: 140
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: Problema al recargar el contenido de un DIV

Si, tenía entendido que JavaScript es un lenguaje que se ejecuta del lado del cliente y no del servidor. Pero esto me ha descolocado. Pruebo exactamente los mismos archivos en local y remoto, y en local no funciona y en remoto si.

Puede ser que el browser interprete de manera diferente el JS en un servidor local que en un remoto?
__________________
Facundo
http://www.creactivo.com.ar
  #6 (permalink)  
Antiguo 05/08/2010, 07:52
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: Problema al recargar el contenido de un DIV

¿Te da algún error la consola?
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...

Etiquetas: contenido, recargar
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 19:21.