2008-12-11 4 views
0

J'ai la conception du TabMenu comme suitjQuery TabData: Est-il possible d'obtenir les données ClickedTab, à la place indexer?

<script type="text/javascript"> 
    $(function() { 
     $('#container-1').tabs(); 
     $('#container-2').tabs(); 
    } 
</script> 

..... 
<div id="container-1"> 
    <ul> 
    <li><a href="#fragment-1"><span id="start">First</span></a></li> 
    </ul> 
</div> 
<div id="container-2"> 
    <ul> 
    <li><a href="#fragment-1"><span id="end">Last</span></a></li> 
    </ul> 
</div> 
..... 

Est-il possible d'obtenir les données de ClickedTab, au lieu de l'indice? Comme si ClickTab est d'abord puis #fragment1. Sinon, si ClickTab est le dernier, #fragment2.

Comment est-ce que je peux faire ceci?

Répondre

1

Pouvez-vous préciser ce que vous voulez dire?

Si vous changez ceci:

<li><a href="#fragment-1"><span id="end">Last</span></a></li> 

à:

<li><a href="#fragment-2"><span id="end">Last</span></a></li> 

Ensuite, il charge fragment 2 # lorsque vous cliquez dessus.

Si vous voulez vraiment obtenir les données de l'onglet cliqué, vous pouvez brancher dans l'événement tabsselect

$('.ui-tabs-nav').bind('tabsselect', function(event, ui) { 
//ui.panel is a dom element that contains the contents of the clicked tab. 
} 

Pour en savoir plus disponible à la Jquery UI docs

0

J'espère que cela signifie que vous avez l'autre partie de travail. S'appuyant sur l'exemple précédent cela est possible:

$(document).ready(function() { 
     $('#container-1').tabs({ 
      selected : function(e, ui) { 
      if ($($("a", e.target).get(ui.index)).attr('href') == '#fragment-1') { 
       alert('First clicked!'); 
      } 
      }   
     }); 
    }); 
    .... 
    <div id="container-1"> 
     <ul> 
      <li><a href="#fragment-1"><span>Home</span></a></li> 
      <li><a href="#fragment-2"><span>Contact</span></a></li> 

     </ul> 
    </div> 

En fin de compte, il est probablement préférable d'indexer utiliser car cela vous oblige à connaître un peu de l'onglet détails de mise en œuvre et vous pouvez utiliser un commutateur pour gérer la logique de chaque onglet . Cependant, si vous pensez que le contenu répond mieux à vos besoins, cela devrait fonctionner correctement.

Questions connexes