【问题标题】:jQuery Twitter Bootstrap Tab selectjQuery Twitter Bootstrap 选项卡选择
【发布时间】:2013-08-26 11:30:39
【问题描述】:

我一直在网上寻找并尝试了许多示例,但无法弄清楚为什么我不能通过 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;
        }
    }
});

有什么提示吗?

【问题讨论】:

    标签: jquery twitter-bootstrap tabs


    【解决方案1】:

    不要在您希望可见的div 上调用.tab('show'),而是尝试在您将用来激活它的a 元素上执行此操作:

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

    或者可能更好,只需通过 id 进行操作:

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

    【讨论】:

    • :D 像魅力一样工作!谢了。几分钟后我会检查它作为答案!
    • 另外,alertify.js 插件看起来非常不错——感谢您提出问题!
    • 第一个对我有用,而第二个没有。考虑到我的 React 框架,这很好:) 谢谢
    • 如果您来这里是为了寻找一种从 jquery 切换引导选项卡的方法,这将起作用:$('a[href="#cart-data-tab"]').click()