2009-06-11 8 views

Antwort

18

select_tag nimmt einen options Hash als seinen endgültigen Parameter verwenden, in dem Sie kann beliebige HTML-Attribute für die Auswahl hinzufügen. So hinzuzufügen ein onchange Attribut:

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

ich in der Lage sein, eine Aktion in einer Steuerung als ein OnChange-Ereignis angeben? wenn nicht, wie mache ich es dann? – Nave

+1

Ich bin mir nicht sicher, was du meinst? –

+0

Ich habe eine Aktion in meinem Controller ausgeführt werden und nicht ein Javascript Event-Handler. Kann ich es mit Onchange Event machen oder gibt es andere Wege? – Nave

7

versuchen so etwas wie:

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

dies funktioniert nur mit den Prototyp-Helfern, die von Rails 3.0 ausgeschlossen sind. 9 http://apidock.com/rails/ActionView/Helpers/PrototypeHelper/remote_function – damoiser

2

Für eine select_tag, fügen Sie einfach:

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

Auch wenn Onchange nicht Sie arbeiten möchten zu versuchen onChange mit einem Kapital C.

Schließlich, stellen Sie sicher, NEIN Um ein select_tag mit einer Formularauswahl zu VERMEIDEN.

Siehe meine Antwort auf eine ähnliche Frage, nur eine Form wählt Bezug und keine select_tag

Adding An Onchange Event To A Form Select

Verwandte Themen