Jquery javascript – Tutoriel de sélection chaînée avec violon

J’ai eu un problème lors de la création d’une sélection chaînée et j’ai finalement trouvé la solution en corrigeant plusieurs solutions SO ensemble. Dans l’esprit de SO, je publie ma solution finale. Cela fonctionne avec jQuery 1.10.

Et pour rendre tout le monde heureux, j’ai également inclus le jsfiddle pour cela. =)

La finale de JSFiddle est ici: http://jsfiddle.net/NNLh2/

Procédure pas à pas:

Supposons que vous avez deux boîtes de sélection:

 Live EOD  

select a feed type

Je veux que la deuxième option de sélection change après que l’utilisateur a sélectionné une option de la première sélection. Au début, j’ai utilisé cette réponse de SO:

Comment supprimer toutes les options d’une zone de sélection, puis append une option et la sélectionner avec jQuery?

Et puis j’ai découvert qu’il devait fonctionner lorsque la page avait été complètement chargée, avec tout le problème:

afficher / masquer div en fonction de l’option de sélection jquery

Mais ça ne marchait toujours pas comme je le voulais. J’avais deux options dans cette première case et le code nécessaire pour répondre à chaque sélection. J’avais besoin de l’envelopper dans un bloc if / then, et ensuite d’exécuter ce chouette morceau de code lorsque j’avais la sélection.

Greaaaat. Je suis un développeur C # / php / ruby ​​/ C; que diable est-ce que je sais de tous ces $ et fonctions? Javascript essaie d’imiter le format C, je l’ai donc emballé dans un bloc if-then, et avec l’aide de cette question:

JQuery – Obtenir la valeur select

J’ai pu atsortingbuer la valeur de la première sélection à une variable, puis exécuter la partie astucieuse de remplacement de javascript par javascript.

Et alto! Maintenant, j’ai une sélection de base chaînée qui fonctionne. Je peux le remplacer comme je le souhaite en ajustant la partie annexe. Ceci est pour un projet de rails, donc la prochaine partie est comment créer tout cela dynamicment. Mais pour le moment, je vais profiter de ma solution cachée et poursuivre le projet.

Pour les rails, les gens: rails et js ne se parlent pas vraiment, donc si vous voulez créer ces options ajoutées dynamicment, utilisez escape_javascript, rendu et personnaliser créer l’URL que vous passez. Et il y a toujours passer par json. Il y a d’autres questions sur SO qui en parlent. Va le chercher; Je ne peux pas tout faire pour toi. = P

Eh bien, j’ai à peu près parcouru tout le problème et la solution ci-dessus, alors n’hésitez pas à commenter et à critiquer. Je suis plutôt fier de moi en considérant jquery et JS ne sont pas mon fort.