Foros del Web » Programando para Internet » Jquery »

Jquery load anidado?

Estas en el tema de Jquery load anidado? en el foro de Jquery en Foros del Web. Hola gente!, encantado de debutar en esta comunidad, me sirve mucho la [documentación expuesta. Necesitaba una ayudita, estoy haciendo una pagina con php+mysql básica de ...
  #1 (permalink)  
Antiguo 03/05/2009, 13:03
 
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 15 años, 6 meses
Puntos: 0
Jquery load anidado?

Hola gente!, encantado de debutar en esta comunidad, me sirve mucho la [documentación expuesta.

Necesitaba una ayudita, estoy haciendo una pagina con php+mysql básica de momento. Tiene 2 tablas, y tengo una pagina para listar, otra para inserir, otra para borrar todo OK.

Ahora he añadido una bonita pagina ("index.html") con jquery y desde allí llamo a los php con load, muy bonito. Cada enlace tiene una funcion de load con efecto y tal, el problema que tengo es que el contenido que cargo no dispone de jquery.. es decir, si cargo la lista de "clientes" y lleva dentro un enlace editar, no me carga con jquery.load, en cambio se abre la página como un enlace cualquiera... Espero explicarme bien! os pongo el codigo del jquery de index.html

Código PHP:
     var rec "#load-area";                        //En este div cargo todo

     
var src "../loading.gif";                //Imageen de loading
     
var iid "loading";                            //Id de la precarga
     
var pre '<img src="'+src+'"id="'+iid+'"/>';    //Objeto precarga
                            

    
$("a").each(function(){     //todos los enlaces usan esta funcion?
        
var href = $(this).attr("href");            //Guardamos el vaolor de href de cada enlace.
        
$(this).click(function(){                    //Cargamos en rec el contenido de cada href y le damos efectos.
        
            
$(rec).hide().after(pre).load(href, function() {
            $(
"#"+iid).remove();
            $(
this).fadeIn(1000);
            
              $(
"table.tiger-stripe tr:even").addClass("oddrow");  //estetica de tabla
        
            
});
            return 
false;                            //Para que no se redireccione.
        
});
        return 
false;
            
        }); 
  #2 (permalink)  
Antiguo 07/05/2009, 14:07
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 17 años
Puntos: 25
Respuesta: Jquery load anidado?

pues pues, es que cuando ejecutas el $("a").each(fu.... pues, solo se aplicara a las etiquetas a que tengas impresas en el html, en caso carges un nuevo trozo de código con etiquetas a, pues, estas no tendran esa propiedad.

lo que suelo hacer en esos casos es guardar ese trozo de funcion en un .js, usualmente lo llamo basico.js, cada vez que una página necesite heredad esos atributos o funciones, pues, la cargo.

hice un ejemplo para que peudas verlo con calma, pueden descargarlo del siguiente enlace
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #3 (permalink)  
Antiguo 03/03/2010, 16:19
 
Fecha de Ingreso: noviembre-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Jquery load anidado?

Yo tengo el mismo problema y por esta instrucción->
echo "<a href=".$fila['enlace'].">".$fila['enlace']."</a>"."<br/>";

que hago?
  #4 (permalink)  
Antiguo 03/03/2010, 17:01
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Jquery load anidado?

Aca hay un problemas de comillas.

Cita:
echo "<a href=".$fila['enlace'].">".$fila['enlace']."</a>"."<br/>";
Se arregla así:

Cita:
echo "<a href='".$fila['enlace']."'>".$fila['enlace']."</a>"."<br/>";
Bueno... apenas se notan las comillas simples que agregue. Pero son necesarias. Imaginate el html que se genera con y sin comillas como para convencerte.

Mh... no se si habría que escapar alguna de esas comillas, así que por favor probalo.
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 06:07.