web-dev-qa-db-fra.com

Bootstrap .tab ('show') ne fonctionne pas pour mon code

Voici mon Code sur 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>

Impossible de comprendre pourquoi Bootstrap .tab('show') ne fonctionne pas pour mon code.

17
Debiprasad

Dans onglets Bootstrap # , la cible à déclencher est le tab sur lequel nous avons cliqué pour afficher le contenu, pas le contenu lui-même.

Vous devez donner un deuxième identifiant au passive_order_categories Ou utiliser ul.nav-tabs li:eq(1) pour obtenir le deuxième li dans la liste.

Ou utilisez a[href="#passive_order_categories"] Pour obtenir l'ancre liée à cette page de contenu.

Ensuite, appliquez la .tab('show') dessus, pas sur $('#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>
42
fuyushimoya