Besoin de changer d’onglet avec select
. Quelle est la meilleure pratique? Mon idée est de manipuler la classe .active
avec l’événement .active
. Mais je crois qu’il doit y avoir quelque chose de mieux.
Voici un exemple de code:
Tab 1 Tab 2 Tab 3 asd qwe asw
Je suppose que vous pouvez appeler la méthode ‘show’ vous-même, quel que soit l’événement.
http://jsfiddle.net/7Wv5h/40/ [mise à jour]
JS:
// jQuery and Bootstrap loaded, you're here on a $(document).on('ready') scope ! $('#your-select').on('change', function (e) { // With $(this).val(), you can **(and have to!)** specify the target in your
HTML:
Home content Profile content Messages content Settings content
La réponse acceptée fonctionnera pour un seul ensemble d’tabs. Si vous devez déclencher plusieurs ensembles d’tabs avec différentes boîtes de sélection, utilisez les js suivants:
$('.select-nav').on('change', function(e) { var id = $(this).val(); $('a[href="' + id + '"]').tab('show'); });
Merci pour l’inspiration pour ce Flo-Schield-Bobby!
Voici une solution où vous n’avez pas besoin de garder les liens. Juste le Select.
$('#mySelect').on('change', function (e) { var $optionSelected = $("option:selected", this); $optionSelected.tab('show') }); Home . Profile Messages Settings
J’avais besoin d’une solution pour gérer plusieurs tabs sur la page et aucune autre solution ne me convenait. Alors j’ai vite fait ça: https://gist.github.com/kingsloi/7ab83b6781636df1fbf1
$(document).ready(function(){ //set the index counter var i = 0; //convert all .nav-tabs, except those with the class .keep-tabs $('.nav-tabs:not(.keep-tabs').each(function(){ //init variables var $select, c = 0, $select = $(''); //add unique class to nav-tabs, so each select works independently $(this).addClass('nav-tabs-index-'+i); //loop though each , building each into an '); c++; }); //insert new
Vous pouvez voir le violon JS ici: http://jsfiddle.net/kingsloi/96ur6epu/