Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/09/2010, 09:31
Dany_s
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: (jquery) - Problema al utilizar el método .load desde el div de carga

porque como agregas elementos dinamicamente son elementos nuevos que no tienen asignados los eventos click, entonces usa el evento live http://api.jquery.com/live/

vos tenes en todas las páginas una estructura igual no?
yo cuando es algo genérico que en todas las páginas tengo el mismo menú, un div con un id donde va el contenido y si siempre quiero cargar el contenido de ese div en un mismo lugar hago un evento en una clases, como en los link, recupero el href, traigo el contenido y lo musestro en un contenedor, y aparte de eso me funciona sin javascript activado

por ejemplo tengo un index y 3 paginas todas con la misma estructura

index.jsp
Código HTML:
Ver original
  1.   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  2.   <script>
  3.     $( function (){
  4.         $('.linkAjax').live('click', function(){
  5.             url = $(this).attr('href');
  6.             $('#contenedor').load(url+' #contenido');
  7.             return false;
  8.         });
  9.     });
  10.   </script>
  11. </head>
  12.     <div id="menu">
  13.         <a href="index.jsp" class="linkAjax">Inicio</a>
  14.         <a href="uno.jsp" class="linkAjax">Uno</a>
  15.         <a href="dos.jsp" class="linkAjax">Dos</a>
  16.         <a href="tres.jsp" class="linkAjax">Tres</a>
  17.     </div>
  18.     <div id="contenedor">
  19.         <div id="contenido">
  20.             Mi inicio
  21.         </div>
  22.     </div>
  23. </body>
  24. </html>

uno.html
Código HTML:
Ver original
  1.   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  2. </head>
  3.     <div id="menu">
  4.         <a href="index.jsp" class="linkAjax">Inicio</a>
  5.         <a href="uno.jsp" class="linkAjax">Uno</a>
  6.         <a href="dos.jsp" class="linkAjax">Dos</a>
  7.         <a href="tres.jsp" class="linkAjax">Tres</a>
  8.     </div>
  9.     <div id="contenedor">
  10.         <div id="contenido">
  11.             Página categoría UNO
  12.         </div>
  13.     </div>
  14. </body>
  15. </html>

dos.html
Código HTML:
Ver original
  1.   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  2. </head>
  3.     <div id="menu">
  4.         <a href="index.jsp" class="linkAjax">Inicio</a>
  5.         <a href="uno.jsp" class="linkAjax">Uno</a>
  6.         <a href="dos.jsp" class="linkAjax">Dos</a>
  7.         <a href="tres.jsp" class="linkAjax">Tres</a>
  8.     </div>
  9.     <div id="contenedor">
  10.         <div id="contenido">
  11.             Página categoría DOS
  12.         </div>
  13.     </div>
  14. </body>
  15. </html>

tres.jsp
Código HTML:
Ver original
  1.   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  2. </head>
  3.     <div id="menu">
  4.         <a href="index.jsp" class="linkAjax">Inicio</a>
  5.         <a href="uno.jsp" class="linkAjax">Uno</a>
  6.         <a href="dos.jsp" class="linkAjax">Dos</a>
  7.         <a href="tres.jsp" class="linkAjax">Tres</a>
  8.     </div>
  9.     <div id="contenedor">
  10.         <div id="contenido">
  11.             Página categoría TRES
  12.         </div>
  13.     </div>
  14. </body>
  15. </html>

salvo que no agregué los eventos en todas las páginas porque en realidad va en un archivo js aparte para que también si alguien accede a dos.jsp va a seguir funcionar