Перейти к определенной вкладке из другой вкладки с помощью навигационных вкладок Bootstrap
Я использую Bootstrap'snav-tabs
со следующей настройкой:
<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>
Как видите, у меня есть ссылка в моемprofile
вкладка, которая ссылается на первую вкладку. Нажатие на якорь действительно меняет URL в строке URL, однако не переходит на конкретную вкладку.
Затем я заметил, что, как правило, невозможно напрямую ссылаться на вкладку, поэтому я добавил следующий код изВкладки Twitter Bootstrap: перейти к конкретной вкладке на странице «Перезагрузка» или «Гиперссылка»:
// 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;
})
Теперь я могу ссылаться на конкретную вкладку откуда-то еще, но нет, если я нахожусь на той же странице, где находится навигационная панель. После перезагрузки страницы можно перейти на нужную вкладку, поэтому я подумал, что могу просто принудительно перезагрузить страницу с решением отJavascript: Как действительно перезагрузить сайт с тегом привязки?:
window.location.reload(true);
Это, однако, заканчивалось перезагрузкой каждый раз, когда я нажимал на вкладку, кроме того, он все еще не загружалhome
вкладка, при нажатии на якорь.
Таким образом, как бы я перейти к данномуid
из другой вкладки?