105 votes

Le menu déroulant de Bootstrap ne fonctionne pas

Je n'arrive pas à faire fonctionner le dropdown de bootstrap. Voici mon html pour le nav :

<ul class='nav'>
  <li class='active'>Home</li>
  <li class='dropdown'>
    <a class="dropdown-toggle" data-toggle="dropdown" href='#'>Personal asset loans</a>
    <ul class="dropdown-menu" role="menu">
      <li><a href="#">asds</a></li>
      <li class="divider"></li>
    </ul>
  </li>
  <li>Payday loans</li>
  <li>About</li>
  <li>Contact</li>
</ul>

Et voici les scripts :

<script type="text/javascript" src="js/bootstrap/bootstrap-dropdown.js"></script>
<script>
     $(document).ready(function(){
        $('.dropdown-toggle').dropdown()
    });
</script>

Qu'est-ce que je fais mal ? Merci pour vos réponses !

2voto

Amir De Points 721

Copiez-collez le jQuery ci-dessous <script> et feuille de style <link> dans votre <head> pour s'assurer que vous chargez tous les fichiers nécessaires.

Il est important que votre JQuery .js se trouve au-dessus de .css feuille de style

Il suffit de coller la ligne suivante pour tester

<script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://stackoverflow.com//netdna.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

Le problème se produit surtout lors du chargement du script de jQuery, assurez-vous que vous ajoutez les références correctement.

Maintenant, testez

Si cela ne fonctionne pas, consultez le site Web de Bootstrap, qui propose un exemple de mise en œuvre.

https://getbootstrap.com/docs/4.3/components/navbar/#supported-content

1voto

Mancy Points 61

Vous devrez vérifier les fichiers/properties css en conflit ; par exemple, vous pourriez avoir un style personnalisé ".nav" ailleurs ; essayez de désactiver vos propres fichiers css et vérifiez si cela fonctionne, puis vérifiez quel fichier ou style personnalisé est à l'origine du conflit. Vérifiez également que vous incluez le fichier bootstrap.min.js dans votre code.

1voto

B.K Points 317

J'ai eu un problème similaire, mais j'ai constaté que j'avais ajouté le script d'amorçage. deux fois et le deuxième bootstrap script était après au-dessus de le jquery script.

Solution :

  • Assurez-vous que bootstrap.min.js et jquery.min.js ne sont inclus qu'une seule fois dans votre fichier.
  • Le script de bootstrap.min.js doit être inclus après jquery.min.js

1voto

Rider Harrison Points 23

Dans mon cas, la question initiale s'est avérée être la réponse. Sur page de documentation sur les bootstraps il n'est pas fait mention de l'utilisation d'un script pour activer les listes déroulantes mais il semble que cela soit nécessaire pour que cela fonctionne, du moins dans mon cas.

Une fois que j'ai ajouté ce script de la question originale, cela a commencé à fonctionner comme par magie.

<script>
 $(document).ready(function(){
    $('.dropdown-toggle').dropdown()
});
</script>

--Edit : La cause fondamentale était quelque chose à voir avec le formatage de mon conteneur nav parent, j'ai fait sauter toute ma section nav et l'ai remplacée par l'exemple bootstraps et cela a commencé à fonctionner sans le script. Ainsi, les deux solutions fonctionnent, mais la suppression de la section semblait être la méthode "correcte" pour moi, car le script me semblait être une tricherie.

0voto

Everest Nwosu Points 11

J'ai eu le même problème qui m'a amené ici.

Mon problème : J'utilisais la version recommandée de jquery 1.12.0 comme mon fichier jquery script.

Solution : remplacer le jquery script par la version jquery 2.2.0.

Cela a résolu le problème pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X