9

私はネットを見回して多くの例を試しましたが、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;
        }
    }
});

ヒントはありますか?

4

1 に答える 1

30

.tab('show')表示しdivたい を呼び出す代わりに、aアクティブにするために使用する要素で実行してみてください。

$('a[href="#cart-data-tab"]').tab('show');

または、おそらくもっと良いのは、id で実行することです。

$('#cart-data-btn').tab('show');
于 2013-08-26T11:33:15.073 に答える