Ajouter une classe active au bouton d'onglet sur l'option de menu sélectionnée

Jacques Sousa

J'ai le composant d'onglets suivant :

<a data-tab="tab-1" class="button active">Tab 1</a>
<a data-tab="tab-2" class="button">Tab 2</a>
<a data-tab="tab-3" class="button">Tab 3</a>

<div class="tab-content active" id="tab-1">Tab 1 content</div>
<div class="tab-content" id="tab-2">Tab 2 content</div>
<div class="tab-content" id="tab-3">Tab 3 content</div>

Et en dessous, j'ai un menu de sélection :

<select>
  <option>Please select</option>
  <option value="tab-1">Tab 1</option>
  <option value="tab-2">Tab 2</option>
  <option value="tab-3">Tab 3</option>
</select>

Lorsque vous cliquez sur les onglets, l'option de menu de sélection respective change. Ce que j'essaie de réaliser maintenant, c'est d'ajouter la classe active aux boutons d'onglet lorsque son option de menu de sélection respective est choisie et de supprimer évidemment cette classe du bouton d'onglet précédent.

C'est le JS :

$('.button').click(function(){
        var tab_id = $(this).attr('data-tab');

        $('.button').removeClass('active');
        $('.tab-content').removeClass('active');

        $(this).addClass('active');
    $("#" + tab_id).addClass('active');

    $('select').val($(this).data('tab')).change();
  })

  $("select").change(function () {
    $('.tab-content').removeClass('active');
    $('#' + $(this).val()).addClass('active');
  });

J'ai essayé d'ajouter $('.button').addClass('active');comme ceci :

$("select").change(function () {
  $('.tab-content').removeClass('active');
  $('#' + $(this).val()).addClass('active');
  $('.button').addClass('active');
});

Cependant, cela ajoute la classe active à chaque bouton d'onglet choisi dans le menu de sélection.

Veuillez voir la démo ici

Merci de votre aide.

sinueux

Considérez le code suivant :

$(".button").click(function () {
  var tab_id = $(this).attr("data-tab");
  $(".button").removeClass("active");
  $(".tab-content").removeClass("active");
  $(this).addClass("active");
  $("#" + tab_id).addClass("active");
  $("select").val($(this).data("tab"));
});

$("select").change(function () {
  var target = $(this).val();
  $(".button[data-tab='" + target + "']").click();
});

Vous avez déjà la configuration de l'événement Click, donc pas besoin de doubler votre travail.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

React ajouter une classe active sur l'onglet sélectionné

Comment ajouter une classe active à une classe existante sur les éléments de menu cliqués?

Ajouter une classe à la liste déroulante en fonction de l'option AngularJs sélectionnée

Réagir: ajouter une classe active au lien de navigation sélectionné en cliquant sur

Ajouter dynamiquement une classe active au menu et à son sous-menu à l'aide de jquery

Ajouter la classe active jQuery au menu sur un chargement de page d'URL spécifique

jQuery : définir la classe active sur l'option sélectionnée

Ajouter une classe à "sélectionner" si l'option par défaut est sélectionnée

Ajouter une classe active au clic sur l'élément de liste ne fonctionne pas correctement

L'onglet Code VS sélectionne un autre bouton au lieu d'ajouter une tabulation ou 4 espaces au code

Lors du chargement de la page Ajouter une classe à div si la classe de l'option sélectionnée dans une liste déroulante est égale à une valeur

Ajout d'une classe active à un polygone sur une carte SVG une fois qu'une option est sélectionnée

Ajouter une classe CSS à l'onglet Wicket sélectionné

Comment ajouter un remplissage/une marge sur le côté gauche de l'option de menu sélectionnée dans TextInputLayout ?

Ajouter une classe au bouton radio sélectionné

Lame Laravel - Comment ajouter "sélectionné" au menu du formulaire d'option sur un modal dynamique

Ajouter une classe active basée sur l'enfant <a> href

Modifier dynamiquement l'activité de l'onglet lorsque vous cliquez sur le bouton dans un autre onglet qui déclenche la mise au point d'entrée

Appuyer sur l'onglet dans Visual Studio sélectionne le bloc au lieu d'ajouter une indentation

Comment aller à l'onglet sélectionné précédent en appuyant sur le bouton de retour d'une barre d'action d'activité

Ajouter une note d'étoiles au titre de l'élément de menu de notation dans la section de l'onglet Produit Woocommerce

Onglets jQuery: comment ajouter une classe à un onglet UL séparé à partir de l'onglet div?

Comment ajouter une option en cliquant sur le bouton d'une page et ajouter l'option pour sélectionner une balise dans une autre page ?

Ajouter une classe de navigation active basée sur l'URL

Faites défiler jusqu'à l'option sélectionnée en cliquant sur le bouton à l'aide de jquery

Ajouter une classe active au menu li en faisant défiler la section dans div

ajouter une classe active au menu principal en utilisant javascript

Comment puis-je ajouter une classe CSS personnalisée à un bouton de menu principal sur Astra Theme pour Wordpress

Ajout d'une classe active au bouton externe lorsque vous appuyez sur des points lisses

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  3. 3

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  4. 4

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Exporter la table de l'arborescence vers CSV avec mise en forme

  7. 7

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  8. 8

    Créer un système Buzzer à l'aide de python

  9. 9

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  10. 10

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  11. 11

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  12. 12

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  13. 13

    Conversion double en BigDecimal en Java

  14. 14

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  15. 15

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  18. 18

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  19. 19

    comment afficher un bouton au-dessus d'un autre élément ?

  20. 20

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  21. 21

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

chaudétiquette

Archive