J'utilise nav-tabs
de Bootstrap avec la configuration suivante:Saut à onglet spécifique d'un autre onglet avec nav-onglets de Bootstrap
<ul class="nav nav-tabs">
<li class="active"><a href="#home" data-toggle="tab">Home</a></li>
<li><a href="#profile" data-toggle="tab">Profile</a></li>
</ul>
<div id="tabContent" class="tab-content">
<div class="tab-pane active in" id="home">
<form id="tab">
<label>Name:</label>
<input type="text" value="fooBar" class="input-xlarge">
</form>
</div>
<div class="tab-pane fade" id="profile">
<form id="tab2">
<a href="#home">Home</a>
</form>
</div>
</div>
Comme vous pouvez le voir, j'ai un lien dans mon onglet profile
, qui relie à le premier onglet. Cliquer sur l'ancre change l'URL dans la barre d'URL, mais ne passe pas à l'onglet spécifique.
Je remarquai alors qu'il est généralement impossible de créer un lien vers un onglet directement, alors j'ai ajouté le code suivant de Twitter Bootstrap Tabs: Go to Specific Tab on Page Reload or Hyperlink:
// Javascript to enable link to tab
var url = document.location.toString();
if (url.match('#')) {
$('.nav-tabs a[href=#'+url.split('#')[1]+']').tab('show') ;
}
// Change hash for page-reload
$('.nav-tabs a').on('shown', function (e) {
window.location.hash = e.target.hash;
})
Maintenant, je peux créer un lien vers un onglet spécifique d'ailleurs, mais pas , si je suis sur la même page où se trouve la barre de navigation. Rechargement la page serait alors passer à l'onglet voulu, donc je pensais que je pouvais recharger avec force la page, avec la solution de Javascript: How to truly reload a site with an anchor tag?:
window.location.reload(true);
Cependant, cela a fini dans un reload chaque fois que je clique sur un onglet, en outre, il n'a toujours pas chargé l'onglet home
, lorsque vous avez cliqué sur l'ancre.
Ainsi, comment pourrais-je sauter à un id
donné à partir d'un autre onglet?