2009-10-04 6 views
2

Je veux charger uniquement les liens dans un certain div à l'intérieur de l'onglet, sinon il devrait simplement aller au lien réel.Onglets de l'interface utilisateur jQuery chargeant un lien spécifique dans l'onglet

actuel code i utiliser des charges tous les liens à l'intérieur du contenu dans le même onglet

<script type="text/javascript"> 
     $(function(){ 
     $('#tabs').tabs({ 
      load: function(event, ui) { 
      $('a', ui.panel).click(function() { 
       var tabId=$('#tabs').tabs('option', 'selected'); 
      $('#tabs').tabs("url", tabId, this.href).tabs("load",tabId); 
       return false; 
      }); 
      } 
     }); 
     }); 
</script> 

Onglet

<div id="sresults" style="width: 520px"> 
    <div id="tabs"> 
     <ul> 
      <li><a href="mylink.html">Songs</a></li> 
      <li><a href="mylink.html">Albums</a></li> 
      <li><a href="mylink.html">Videos</a></li> 
      <li><a href="mylink.html">Entire Blog</a></li> 
     </ul> 
    </div> 
</div> 

Et puis voici la page dans l'onglet

<div id="content"> 
<a href="permalink.html">My links</a> 
</div> 

<div id="navi"><a href="tab?page=2">Next Page</a> 
</div> 

Je veux que les liens à l'intérieur de la div Navi à charger dans l'onglet, mais tous les liens en dehors devraient aller à la lin k

+1

Pouvez-vous poster un balisage? –

+0

Êtes-vous sûr que 'ui.panel' est une référence à un élément dom/jqueryized? –

+0

Ouais im assez sûr – Imran

Répondre

2

Je suppose que vous ne voulez charger que les liens de navigation dans l'onglet.

Si oui, il suffit de remplacer

$('a', ui.panel).click(function() { 

Avec

$('#navi a', ui.panel).click(function() { 

Bien que, je vous suggère d'utiliser un class pour sélectionner votre navigation div au lieu d'utiliser un id parce que vous pourriez vous retrouver avec double id s, ce qui pourrait causer des problèmes plus tard.

+0

merci pour la solution, plus la suggestion ;-) – Imran

+0

Serait-il possible de faire défiler la page en haut de l'onglet? – Imran

+0

'$ ('html'). ScrollTop (0);' avant de retourner false, 'devrait le faire. Je ne suis pas sûr que cela fonctionne pour autre chose que Firefox et IE8 cependant. – brianpeiris

Questions connexes