Подтвердить что ты не робот

Bootstrap.tab('show') не работает для моего кода

Вот мой Код на JSFiddle

$('button').click(function() {
    $('#passive_order_categories').tab('show');
});
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.0.js"></script>
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/css/result-light.css">

<button>Click</button>
<div class="tabs-container">
    <ul class="nav nav-tabs">
        <li class="active"><a data-toggle="tab" href="#active_order_categories" aria-expanded="true">Active</a>
        </li>
        <li class=""><a data-toggle="tab" href="#passive_order_categories" aria-expanded="false">Passive</a>
        </li>
    </ul>
    <div class="tab-content">
        <div id="active_order_categories" class="tab-pane active">
            <div class="panel-body"></div>
        </div>
        <div id="passive_order_categories" class="tab-pane">
            <div class="panel-body"></div>
        </div>
    </div>
</div>
4b9b3361

Ответ 1

Из вкладки Bootstrap # целевой объект для запуска - это tab, который мы нажали, чтобы показать содержимое, а не сам контент.

Вы должны указать вторую вкладку, которая ссылается на passive_order_categories id, или использовать ul.nav-tabs li:eq(1) чтобы получить второй li в списке.

Или используйте a[href="#passive_order_categories"], чтобы привязать привязку к этой странице содержимого.

Затем примените .tab('show') на нем, а не на $('#passive_order_categories')

$('button').click(function() {
    // Find the target tab li (or anchor) that links to the content you want to show.
    $('a[href="#passive_order_categories"]').tab('show');
    //$('ul.nav-tabs li:eq(1)').tab('show');
});
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.0.js"></script>
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">

<button>Click</button>
<div class="tabs-container">
    <ul class="nav nav-tabs">
        <li class="active"><a data-toggle="tab" href="#active_order_categories" aria-expanded="true">Active</a>
        </li>
        <li class=""><a data-toggle="tab" href="#passive_order_categories" aria-expanded="false">Passive</a>
        </li>
    </ul>
    <div class="tab-content">
        <div id="active_order_categories" class="tab-pane active">
            <div class="panel-body"></div>
        </div>
        <div id="passive_order_categories" class="tab-pane">
            <div class="panel-body"></div>
        </div>
    </div>
</div>

Ответ 2

Обратите внимание, что с помощью Bootstrap nav-pills вместо tabs вы все равно хотите использовать .tab('show') для достижения эффекта.