2009-06-11 8 views

Répondre

18

select_tag prend un hachage options comme paramètre final, dans lequel vous peut ajouter des attributs HTML pour le select. Donc, pour ajouter un attribut onchange:

select_tag :variable, options_from_collection_for_select(:all, :id, :name), :onchange => 'your_onchange_handler()' 
+1

Vais-je être en mesure de spécifier une action dans un contrôleur comme un événement onchange? si non, comment puis-je le faire alors? – Nave

+1

Je ne suis pas tout à fait sûr de ce que vous voulez dire? –

+0

J'ai une action dans mon contrôleur à exécuter et pas un gestionnaire d'événement javascript. Serai-je en mesure de le faire avec l'événement onchange ou y at-il d'autres façons? – Nave

7

essayer quelque chose comme:

:onchange => remote_function(:url => {:controller => 'controller', :action => 'action'}) 
+1

cela fonctionne uniquement avec les prototypes helpers, qui sont exclus de Rails 3.0. 9 http://apidock.com/rails/ActionView/Helpers/PrototypeHelper/remote_function – damoiser

2

Pour select_tag, il suffit d'ajouter:

{:onchange => "myHandler();" } 

En outre, si onchange ne fonctionne pas, vous voudrez peut-être pour essayer onChange avec une capitale C.

Enfin, assurez-vous que NON T POUR CONFUSER un select_tag avec un formulaire sélectionné.

Voir ma réponse à une question similaire, en ce qui concerne uniquement une forme sélectionner et non un select_tag

Adding An Onchange Event To A Form Select

Questions connexes