2013-08-26 45 views
6

Tôi đã tìm kiếm trên mạng và đã thử nhiều ví dụ nhưng không thể tìm ra lý do tại sao tôi không thể hiển thị một tab cụ thể thông qua jQuery. Đây là html tab của tôi:Tab jQuery Twitter Bootstrap chọn

<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> 

Tôi đã thử một công tắc và chương trình cảnh báo lên tốt, nhưng không kích hoạt tab đúng:

$('#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; 
     } 
    } 
}); 

Bất kỳ gợi ý?

Trả lời

25

Thay vì gọi .tab('show') trên div bạn muốn được hiển thị, hãy thử làm việc đó trên a yếu tố mà bạn sẽ sử dụng để kích hoạt nó:

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

Hoặc có lẽ tốt hơn nữa, chỉ làm điều đó bởi id:

$('#cart-data-btn').tab('show'); 
+0

@ Mr.Web: Xem chỉnh sửa của tôi. Đã làm mới bộ nhớ của tôi trên bootstrap. –

+0

: D Hoạt động như một sự quyến rũ! Tks. Trong một vài phút tôi sẽ kiểm tra nó như là câu trả lời! –

+1

Ngoài ra, plugin 'alertify.js' trông rất đẹp - cảm ơn vì đã dẫn tôi đến với câu hỏi của bạn! –