2009-09-22 6 views
0

En complément de this question - et en utilisant le même plugin getUrlParam.js.Définir l'URL via l'onglet jQuery sélectionné

$(document).ready(function(){ 
var param = $(document).getUrlParam('tab'); 
$("#tabs").tabs(); 
$("#tabs").tabs('select', param); 
}); 

Avec ce code, je suis en mesure de contrôler quels onglets charge sur une page donnée, par exemple. blogs/?tab=tv charge l'onglet #tv sur la page/blogs/page.

Cependant, y a-t-il un moyen de définir l'URL en cliquant sur les onglets eux-mêmes?

<ul id="mediatabs" class="tab-buttons"> 
<li class="TV"><a href="#TV">TV</a></li> 
<li class="radio"><a href="#radio">Radio</a></li> 
</ul> 

dire en cliquant sur les charges de l'onglet TV /?tab=tv?

Je suppose que cela est une solution de contournement pour la fonctionnalité de bookmarking manquantes dans des onglets 3.

+0

demandez-vous comment ajouter un gestionnaire de clic à l'onglet? – geowa4

+0

@ geowa4: Oui, je pense qu'il veut faire en sorte que vous puissiez cliquer n'importe où dans l'onglet, pas seulement sur le lien 'a'. –

+0

Non - Je veux cliquer sur l'onglet (le bloc li) et changer l'URL. Identique à la tabulation standard (c'est-à-dire #us, #them) - mais avec le plugin, donc je peux créer un lien à partir d'une page/site externe. Tks – strangerpixel

Répondre

0

Eh bien, vous êtes désireux de changer un paramètre querystring et non le hachage de l'URL (http://www.example.com/page.html#this-is-a-hash). Une approche consiste à utiliser l'événement select qui est déclenché chaque fois qu'un utilisateur clique sur un onglet. Quelque chose comme:

$('#tabs').bind('tabsshow', function(event, ui) { 
    // TODO: compute the desired url and set window.location.href 
}); 
+0

Oui, vous avez raison. Et j'ai essayé de le rendre réalisable de cette façon. ça ne marche pas!!! window.location.href vous éloigne des onglets et ouvre un nouvel écran. – codebased

Questions connexes