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

Muchas gracias por las aportaciones.
AL final he conseguido una solución interesante para lo que quería conseguir.

Código HTML:
<!-- inicioBloque: tPesReg -->
<div id="pestanhas">
	<div id="pesdatos" class="enlaceuser-sel"><form method="post"  id="formdatos">{TUSDATOS}<input id="autorizado" name="autorizado" type="hidden" value="true" /></form></div>
	<div id="pespubli" class="enlaceuser"><form method="post"  id="formpubli">{PUBLICIDAD}<input id="autorizado" name="autorizado" type="hidden" value="true" /></form></div>
    <!--<div id="peseventos" class="enlaceuser">{EVENTOS}</div> -->
    <div class="clear"></div>
</div>


<!-- finBloque: tPesReg --> 
Estas son las pestañas que quiero controlar. Cada una ejecuta una accion diferente en jquery, por eso lo de diferenciarlas mediante id a cada una.



Código Javascript:
Ver original
  1. var $j = jQuery.noConflict();
  2.  
  3. $j(document).ready(function() {
  4.  
  5.     var pesactiva="pesdatos";
  6.  
  7.     function apagarActiva( activa)
  8.     {
  9.         activa="#"+activa;
  10.        
  11.         $j(activa).addClass('enlaceuser');
  12.         $j(activa).removeClass('enlaceuser-sel');
  13.     }
  14.  
  15.     function activar(activa)
  16.     {
  17.         $j(activa).addClass('enlaceuser-sel');
  18.         $j(activa).removeClass('enlaceuser');
  19.     }
  20.    
  21.  
  22. $j('#pespubli').click( function()
  23.                         {
  24.                             if( pesactiva!=$j(this).attr('id'))
  25.                             {
  26.                                 apagarActiva(pesactiva);
  27.                                 activar(this);
  28.                                 pesactiva=$j(this).attr('id');
  29.                                
  30.                                 $j(this).ajaxify({
  31.                                             event: false,
  32.                                             link :'/modulos/publicidad/back/index.php',
  33.                                             forms:"#formpubli",
  34.                                             target: '#bodydatos',
  35.                                             title:'Publicidad', // change page title. Since v2.0
  36.                                             method:'POST'
  37.                                             });
  38.                             }
  39.                         }
  40.  
  41.            );
  42. $j('#pesdatos').click( function()
  43.                         {
  44.                             if( pesactiva!=$j(this).attr('id'))
  45.                             {
  46.                                 apagarActiva(pesactiva);
  47.                                 activar(this);
  48.                                 pesactiva=$j(this).attr('id');
  49.  
  50.                                 $j(this).ajaxify({
  51.                                             event: false,
  52.                                             link :'/modulos/user/back/php/registrado.php',
  53.                                             forms:"#formdatos",
  54.                                             target: '#bodydatos',
  55.                                             title:'Datos de usuarios', // change page title. Since v2.0
  56.                                             method:'POST'
  57.                                             });
  58.                             }
  59.                         }
  60.  
  61.            );
  62.  
  63.  
  64.  
  65. });


La historia es tener varias pestañas, cada una realiza una carga con Ajaxify independiente con unos valores vía post para evitar acceder directamente a las paginas que cargo con ajaxify, si no es a través de las pestañas.

Una de ellas estará activa y no realizará nada si la pinchamos. Este era un problema, no conseguía desactivar el enlace y la solucion ha sido deshabilitar el evento en ajaxify y comprobar si era o no enlace activo antes de hacer la llamada a ajaxify.

Voy a seguir puliendo el código hasta dejarlo lo más claro y limpio posible, por si a alguien le sirve!

Seguimos trabajando!