【发布时间】:2014-01-27 16:14:13
【问题描述】:
我在#tab1下面有几个标签和子标签。
<ul id="main-nav-tabs" class="nav nav-tabs" style="margin-top: 5px;">
<li id="tab1"><a href="#tab1-tab" data-toggle="tab"></a></li>
<li class="active" id="tab2"><a href="#tab2-tab" data-toggle="tab"></a></li>
<li id="tab3"><a href="#tab3-tab" data-toggle="tab"></a></li>
</ul>
<div id="tab-content" class="tab-content">
<div id="tab1-tab" class="tab-pane fade scrollable">
<ul class="nav nav-pills">
<li class="active"><a href="#first-subtab" data-toggle="tab"></a></li>
<li><a href="#second-subtab" data-toggle="tab"></a></li>
<li><a href="#third-subtab" data-toggle="tab"></a></li>
</ul>
<div id="subtab-container">
<div id="subtab-tab-content" class="tab-content">
<div id="first-subtab" class="tab-pane in active fade"></div>
<div id="second-subtab" class="tab-pane fade"></div>
<div id="third-subtab" class="tab-pane fade"></div>
</div>
</div>
</div>
<div id="tab2" class="tab-pane in active fade">
<table id="table2" class="table table-condensed"></table>
</div>
<div id="tab3" class="tab-pane fade">
<table id="table3" class="table table-condensed"></table>
</div>
现在,我有几组数据,当您选择一组时,它会加载所有选项卡的数据。当您选择另一组时,它会使用新数据更新所有选项卡。
加载时,我将#Tab2 作为主要的默认活动选项卡。当我单击#tab1 时,我希望#first-subtab 成为默认的活动选项卡,但它总是返回到从最后一组数据中单击的最后一个子选项卡。
比如我加载数据,默认为#tab2,我点击#tab1->第三个子标签。当我加载另一个默认为#tab2 的集合时,我点击#tab1-> 而不是转到#first-subtab,它转到#third-subtab 因为我上次点击它。
我尝试将#first-subtab 设置为默认值:
$('#tab1').click(function(){
$('#third-tab').removeClass('li.active');
$('#first-tab').addClass('li.active');
});
我也尝试相应地显示/隐藏,但没有什么会强制 #first-subtab 成为默认值...有什么建议吗?
我的完整 html 是 197 行。当我使用谷歌开发者工具时,我点击了我想要激活的#first-subtab,它位于以下位置:
-> div#table-container.fill -> div#tab-content.tab-content
-> div# tab1.tab-pane.fade.scrollable.active.in -> ul.nav.nav-pills -> li.active -> a
【问题讨论】:
标签: javascript jquery html twitter-bootstrap tabs