11
votes

Pourquoi mon menu déroulant avec Bootstrap ne fonctionne-t-il pas?

Dans My Rails Application, j'ai le code suivant pour un menu déroulant: xxx

dans mon fichier application.js J'ai le code suivant: xxx < / Pré>

Je ne sais pas pourquoi le menu déroulant ne fonctionne pas et je ne sais pas comment le réparer. Il y a quelques jours, cela fonctionnait bien et cela ne fonctionne plus correctement. Merci pour toute aide!


4 commentaires

Avez-vous téléchargé le fichier JavaScript Dropdown de Twitter Bootstrap?


Je vois Data Basculer dans votre code, il doit-il être basculer ?


Dupliqué possible de Twitter Bootstrap dépose soudainement ne fonctionne pas


Le "Turbolinks" est-il activé? Assurez-vous: document.addeventlistener ("Turbolinks: charge", fonction () {// ...})


6 Réponses :


8
votes

J'ai testé votre code HTML et cela a fonctionné bien.

Tout d'abord, assurez-vous de charger JQuery d'abord: P>

$('.dropdown-toggle').dropdown()  


3 commentaires

Merci pour votre réponse! Où devrais-je appeler déroulement avec le JavaScript que vous m'avez donné? J'ai ajouté le javascript dans mon fichier d'en-tête et ça ne marche toujours pas.


Vous pouvez l'ajouter à la fin de l'application.js - si vous l'ajoutez à l'en-tête, il est chargé avant vos actifs, ce qui ne fonctionnera pas.


Corrigé pour moi. Suivait un tutoriel et ils ont oublié cette ligne :)



11
votes

J'ai compris la réponse de cette précédente question Stackoverflow Question:

Twitter Bootstrap dépose soudainement ne fonctionne pas

J'ai dû mettre // = besoin de JQuery sous ma ligne de code qui nécessitait Bootstrap, puis il a fonctionné!


3 commentaires

et puis je devais le déplacer, et cela a également fonctionné: / mais d'autres éléments n'ont pas


Yay! Je passe 2 heures à essayer de comprendre cela! MERCI!


@ user1483441 Cela fonctionne, mais comme Aleks dit, d'autres éléments de JQuery ne fonctionnent pas car Bootstrap charge le poing et utilise jQuery mais jQuery in non chargé à ce moment-là




5
votes

La solution réside dans l'ordre que vous importez les dépendances JavaScript.

C'est ce que j'avais initialement dans mon Application.js code> p> xxx pré>

Quand j'ai supprimé Bootstrap-Sprockets Code> i My Dropdown a travaillé. Cependant, je ne voulais pas supprimer bootstrap-grokets code>. Donc, ma nouvelle commande ressemblait à ceci; p> xxx pré>

puis, pour être sûr, je devais nettoyer et pré-compiler des actifs en exécutant ce qui suit; P>

rake assets:clean
bundle exec rake assets:precompile


0 commentaires

0
votes

J'ai eu ce problème pendant toute la journée mais j'ai enfin pu le réparer. J'ai appliqué la solution ci-dessus (changeant la commande) et la liste déroulante travaillée. Cependant, j'ai remarqué dans la console il y avait des erreurs (non capitales Référence: JQuery n'est pas définie) en raison du fait que Bootstrap-Sprockets a été appelé avant JQuery. J'ai trouvé une solution qui a fonctionné pour moi ici

essentiellement, je ont inclus le code suivant ci-dessous des éléments requis dans application.js comme: xxx

pour moi cela a fonctionné comme un charme. J'espère que cela aide quelqu'un!


0 commentaires

0
votes

J'ai couru dans le même problème et supprime // = besoin de bootstrap de mon application.js a travaillé pour moi. J'espère que cela aussi aide quelqu'un!


0 commentaires