2009-06-15 7 views
1

Quel est le moyen le plus propre de spécifier un panneau cible partagé pour les onglets jQueryUI lorsque tout le contenu est chargé via AJAX et que la cible se trouve en dehors de la div «tabs» parent?Comment spécifier le panneau cible de l'onglet jQueryUI?

Par exemple:

<div id="tabs"> 
    <ul> 
    <li><a href="link1.html" title="Go to Link 1"><span>Link 1</span></a></li> 
    <li><a href="link2.html" title="Go to Link 2"><span>Link 2</span></a></li> 
    <li><a href="link3.html" title="Go to Link 3"><span>Link 3</span></a></li> 
    <li><a href="link4.html" title="Go to Link 4"><span>Link 4</span></a></li> 
    </ul> 
</div> 

<div id="panel">Content should be loaded here.</div> 

EDIT: Je préférerais avoir un attribut de titre unique par lien

Répondre

0

Il semble que ce n'est pas possible avec la version actuelle de jQueryUI (1.7.2) sans modification d'événement.

J'ai soumis un patch pour considération pour une solution plus gracieuse.

+0

Ce correctif n'a pas été accepté par la suite. Un suivi pour résoudre le problème? –

0

Donnez votre cible div un titre, par exemple:

<div id="panel" title="contentPane">Content should be loaded here.</div> 

et donner à votre onglet liens le même titre:

<div id="tabs"> 
    <ul> 
    <li><a href="link1.html" title="contentPane"><span>Link 1</span></a></li> 
    <li><a href="link2.html" title="contentPane"><span>Link 2</span></a></li> 
    <li><a href="link3.html" title="contentPane"><span>Link 3</span></a></li> 
    <li><a href="link4.html" title="contentPane"><span>Link 4</span></a></li> 
    </ul> 
</div> 
+0

Y at-il une autre méthode que vous êtes au courant de sans utiliser l'attribut title? – Matt

+0

@Matt - Non, pas que je sache, et si je me souviens, j'ai passé beaucoup de temps à comprendre ce qui précède. Si vous trouvez quelque chose, s'il vous plaît partager la connaissance :) – karim79

+0

J'ai mis à jour ma question pour refléter l'exigence d'attributs de titre uniques. – Matt

1

Utilisez aria-controls attribut li tag pour sélectionner le id du panneau

<div id="tabs"> 
    <ul> 
    <li aria-controls="panel"><a href="link1.html"><span>Link 1</span></a></li> 
    <li aria-controls="panel"><a href="link2.html"><span>Link 2</span></a></li> 
    <li aria-controls="panel"><a href="link3.html"><span>Link 3</span></a></li> 
    <li aria-controls="panel"><a href="link4.html"><span>Link 4</span></a></li> 
    </ul> 
    <div id="panel" >Content should be loaded here.</div> 
</div> 
Questions connexes