Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/04/2010, 05:39
dalmont
 
Fecha de Ingreso: julio-2009
Mensajes: 9
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Selecciona con jquery un id con class concreto

Cita:
Iniciado por dalmont Ver Mensaje
Gracias por esta aportación, en cuanto limpie el código y funcione, lo compartiré!!!
Ya lo tengo casi perfecto. Tenías toda la razón en cuanto a repetir el mismo código, hay que prever llegar a tener 10 enlaces.

No tenía controlada la función siblings

Código Javascript:
Ver original
  1. var $j = jQuery.noConflict();
  2.  
  3. $j(document).ready(function() {
  4.  
  5.  
  6. $j('#formpubli').attr('action', '/mod/publi/back/index.php');
  7. $j('#formdatos').attr('action', '/mod/user/back/php/registrado.php');
  8.    
  9.  
  10. $j( function (){
  11.             //a todos los div con class enclace que sean hijos directo de div con id pesthanas y que no tengan class clase-sel le asigno permito el click
  12.             $j("#pestanhas>div.enlaceuser:not(.enlaceuser-sel)").live('click', function (){
  13.                 //elimino classs clase-sel
  14.                 $j(this).siblings().removeClass('enlaceuser-sel');
  15.                 //agrego class clase-sel al clickeado asi no puede ser clickeado
  16.                 $j(this).addClass('enlaceuser-sel');
  17.                 //Busco el form dentro de la pestaña clickeada
  18.                 form = $j('form', this);
  19.  
  20.         $j(this).ajaxify(
  21.                     {
  22.                         event: false,
  23.                         forms: form,
  24.                         link: form.attr('action'),
  25.                         title: form.attr('title'),
  26.                         target: '#bodydatos',
  27.                         method:'POST'
  28.                     });
  29.             });
  30.         });
  31.  
  32.  
  33.  
  34. });


Un pequeño detalle es que he puesto el atributo action de cada formulario en el archivo de jquery en lugar de en el propio formulario.
Me ayuda a organizarme mejor, pero se podría poner también y perfectamente en el propio formulario.

Código HTML:
Ver original
  1. <div id="pestanhas">
  2.     <div class="enlaceuser enlaceuser-sel"><form method="post"  id="formdatos" title="Datos de usuario" >{TUSDATOS}<input id="autorizado" name="autorizado" type="hidden" value="true" /></form></div>
  3.     <div class="enlaceuser"><form method="post"  id="formpubli" title="Publicidad" >{PUBLICIDAD}<input id="autorizado" name="autorizado" type="hidden" value="true" /></form></div>
  4.        <!--<div class="enlaceuser">{EVENTOS}</div> -->
  5.     <div class="clear"></div>
  6. </div>


Al final se quedan una serie de pestañas que cargan diferentes páginas mediante ajax que se puede adaptar a multitud de usos y facilmente modificable.

Muchas gracias a todos por vuestra ayuda!

Última edición por dalmont; 20/04/2010 a las 05:46