私はネットを見回して多くの例を試しましたが、jQueryを介して特定のタブを表示できない理由を理解できません。これは私のタブのhtmlです:
<ul class="nav nav-tabs nav-inside-tabs" id="cartTabs">
<li class="active"><a href="#cart-tab" data-toggle="tab" class="cart-btn">Purchases</a></li>
<li><a href="#cart-data-tab" data-toggle="tab" id="cart-data-btn" class="cart-btn">Data</a></li>
<li><a href="#cart-pay-tab" data-toggle="tab" id="cart-pay-btn" class="cart-btn">Pay</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="cart-tab">
Cart
</div>
<div class="tab-pane" id="cart-data-tab">
Content data
</div>
<div class="tab-pane" id="cart-pay-tab">
Content pay
</div>
</div>
スイッチを試しましたが、アラートは正常に表示されますが、正しいタブがアクティブになりません。
$('#cart-goon-btn').click(function(e){
e.preventDefault();
if(!$(this).attr('disabled')){
var current_tab = $('.tab-pane.active').attr('id');
switch(current_tab){
case 'cart-tab':
$('#cartTabs li a').eq($('#cart-data-tab')).tab('show');
alertify.alert('1')
break;
case 'cart-data-tab':
//cart-pay-tab
alertify.alert('2')
break;
case 'cart-pay-tab':
//checkout
break;
}
}
});
ヒントはありますか?
表示したいdiv
で.tab('show')
を呼び出す代わりに、アクティブ化に使用するa
要素で呼び出してみてください。
$('a[href="#cart-data-tab"]').tab('show');
または、おそらくもっと良いのは、idでそれを行うだけです:
$('#cart-data-btn').tab('show');