Foros del Web » Programando para Internet » Jquery »

Problemilla con Jquery

Estas en el tema de Problemilla con Jquery en el foro de Jquery en Foros del Web. Hola foreros. tengo un problema con jquery, aver si alguien me hecha una mano. resulta que rescato un formulario de busqueda con ajax (jquery con ...
  #1 (permalink)  
Antiguo 15/09/2010, 16:55
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 11 meses
Puntos: 145
Problemilla con Jquery

Hola foreros.

tengo un problema con jquery, aver si alguien me hecha una mano.

resulta que rescato un formulario de busqueda con ajax (jquery con $.post()) y lo muestro en un div, hasta hay todo bien, el problema nace cuando intento darle una accion a los link que se generan apartir de esa consulta.

Código:
$(document).ready( function()
	{	
	$("#busqueda").submit(function()
		{
		$.post("<? echo $path?>includes/proceso-busqueda-comentar.php",{b:$('#b').val(),rand:Math.random() } ,function(result)	
			{
			$("#result-busqueda").html(result);
			});
			
		return false;
		});
	$(".postdoc").click(function()
	 	{ 
		alert("hola mundo");
    	});
	});
ese es el javascript y el php me genera la siguiente cadena

Código:
<ul>
     <li><a href="" class="postdoc">documento1</a></li>
     <li><a href="" class="postdoc">documento2</a></li>
     <li><a href="" class="postdoc">documento3</a></li>
</ul>
el problema es que si doy clic a alguno de los link no hace nada, y deberia ejecutarme la linea $(".postdoc").click(function(), y mostrarme "hola mundo", pero si pongo un enlace o mas direcatamente en la pagina sin rescatarla con ajax me funciona, solo no funciona con el codigo fuente rescatado con ajax.


alguien sabe como solucionarlo?


saludos y gracias de ante manos.
__________________
http://chicho.ninja yiaaaa
  #2 (permalink)  
Antiguo 15/09/2010, 17:16
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 16 años
Puntos: 66
Respuesta: Problemilla con Jquery

usa el evento live de jquery, te quedaria asi.

Código Javascript:
Ver original
  1. $(".postdoc").live('click', function()
  2.         {
  3.         alert("hola mundo");
  4.         });

el problema sucede por que defines el evento antes de haber creado el elemento, cualquier duda puedes consultar la API de jquery para que veas como funciona el live()
__________________
Extension Google Chrome
dar las gracias no cuesta nada :D
  #3 (permalink)  
Antiguo 16/09/2010, 07:01
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 11 meses
Puntos: 145
Respuesta: Problemilla con Jquery

Cita:
Iniciado por tredio Ver Mensaje
usa el evento live de jquery, te quedaria asi.

Código Javascript:
Ver original
  1. $(".postdoc").live('click', function()
  2.         {
  3.         alert("hola mundo");
  4.         });

el problema sucede por que defines el evento antes de haber creado el elemento, cualquier duda puedes consultar la API de jquery para que veas como funciona el live()
Gracias compadrito vamos viendo dijo el ciego


saludos, en un rato comento como me fue.
__________________
http://chicho.ninja yiaaaa
  #4 (permalink)  
Antiguo 16/09/2010, 07:10
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 11 meses
Puntos: 145
Respuesta: Problemilla con Jquery

Muy bien PAPA, solucionado.

Gracias tredio.
__________________
http://chicho.ninja yiaaaa
  #5 (permalink)  
Antiguo 16/09/2010, 09:58
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 16 años
Puntos: 66
Respuesta: Problemilla con Jquery

no hay problema Cherivera
__________________
Extension Google Chrome
dar las gracias no cuesta nada :D

Etiquetas: Ninguno
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 18:29.