Foros del Web » Programando para Internet » Jquery »

.load de jquery

Estas en el tema de .load de jquery en el foro de Jquery en Foros del Web. Gentes estoy teniendo un problema medio raro ... Tengo un backend hecho en PHP / jquery / ETC ... básicamente tengo un menu en HTML ...
  #1 (permalink)  
Antiguo 13/12/2010, 13:33
 
Fecha de Ingreso: marzo-2010
Mensajes: 54
Antigüedad: 14 años
Puntos: 0
.load de jquery

Gentes estoy teniendo un problema medio raro ...

Tengo un backend hecho en PHP / jquery / ETC ... básicamente tengo un menu en HTML que llama a un javascript.

el javascript lo que hace es:

$("document").ready(function(){
$("a").click(function(){
$("#content").load($(this).attr("href"));
//alert($(this).attr("href"));
return false;
});
});

O sea, cuando le damos click a un link carga el div content con lo que sea que tenga ese div. Hasta ahí todo bonito, el problema es que cuando navego varias veces por el sistema se da que carga muchas veces el href. O sea, voy a la parte de productos me carga productos 1 vez, voy a la parte de usuarios, me carga usuarios 2 veces voy a producto me carga producto 3 veces y así sucesivamente. Nada lindo ... :(

Alguna idea?

Rulo
  #2 (permalink)  
Antiguo 13/12/2010, 13:51
 
Fecha de Ingreso: marzo-2010
Mensajes: 54
Antigüedad: 14 años
Puntos: 0
Respuesta: .load de jquery

solucion temporaria, no se por que, pero me anduvo

$("document").ready(function(){
$("a").click(function(){
$("#content").html("");
$("#content").load($(this).attr("href"));
//alert($(this).attr("href"));
return false;
});
});

básicamente le borrel el html antes de volver a cargarlo .... ando, no se por que, pero ando...

Si alguno le sirve, joya :)

Rulo
  #3 (permalink)  
Antiguo 13/12/2010, 15:28
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Tema movido desde javascript
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 14/12/2010, 18:47
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: .load de jquery

no era que lo cargaba una o mas veces, el punto era que lo cargaba y lo dejaba cargado, cuando hacias click nuevamente lo volvia a cargar, pero sin borrar la pagina anterior, por eso pensabas que lo hacia varias veces, borrando el contenido antes de cargarlo creo que es lo correcto o simplemente no cargarlo si ya lo habias hecho previamente.
__________________
Extension Google Chrome
dar las gracias no cuesta nada :D
  #5 (permalink)  
Antiguo 21/12/2010, 07:33
 
Fecha de Ingreso: marzo-2010
Mensajes: 54
Antigüedad: 14 años
Puntos: 0
Respuesta: .load de jquery

Es una gran verdad, ahora les vengo a comentar, relacionado lo que me paso relacionado con lo mismo.

En una sección en particular (supongo que en todas me pasara lo mismo) cuando cargaba la pantalla, por pantalla entiendase el div #content, al listado de productos los ponia medios chetitos con un datatable (plug in de jquery). Ahí todo muy lindo, como el datatable tiene cosas visibles para el DOM y cosas que no, al principio lo vi fácil este problema, le agrego un livequery (plug in de jquery). Cuando ingresaba al detalle de un producto, no hay drama, cuando navegaba por varios me tiraba el mismo problema que les comente antes. Busque busque busque y llegue a la siguiente solución:

$('#tblProducts').dataTable( {
"sPaginationType": "full_numbers",
"debug":true,
"fnDrawCallback":function(){
$('.btnEditProduct').bind('click',btnEditProductCl ick);
$('.btnDelete').bind('click',btnDeleteProductClick );
}

} );

El fnDrawCallback lo que hace es que cuando se viaja entre sub listado y sub listado, por ejemplo del primer listado al segundo, y se le hace click en algún elemento, lo levanta de la función que le especificamos, o sea, no es necesario tener un livequery.

Así que ya saben, si les carga muchas veces cuando tienen botones en un datatable, fnDrawCallback es la solución.

Rulo

Etiquetas: load
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:10.