Wie ein onchange Ereignis auszuwählen Tag in Schienen hinzufügen
-
13-09-2019 - |
Frage
Wie füge ich ein OnChange-Ereignis hier?
Framework: Schienen
Datenbank: MySQL
Ich bin bevölkern die Optionen aus der Datenbank und das machte mich verwenden options_from_collection_for_select
select_tag(:variable,options_from_collection_for_select(:all, :id, :name))
Lösung
select_tag
nimmt einen options
hash als letzten Parameter, in dem Sie HTML-Attribute für die Auswahl hinzuzufügen. So ein onchange
Attribut hinzufügen:
select_tag :variable, options_from_collection_for_select(:all, :id, :name), :onchange => 'your_onchange_handler()'
Andere Tipps
versuchen, so etwas wie:
:onchange => remote_function(:url => {:controller => 'controller', :action => 'action'})
Für eine select_tag, fügen Sie einfach:
{:onchange => "myHandler();" }
Auch wenn Onchange nicht funktioniert, könnte onChange
mit einem Kapital C ausprobieren möchten.
Schließlich stellen Sie sicher, Verwechseln Sie nicht eine select_tag mit einem Formular wählen.
meine Antwort auf eine ähnliche Frage Siehe, nur in Bezug auf eine Form wählen und keinen select_tag
Hinzufügen ein OnChange-Ereignis zu einem Formular wählen Sie
Sie möchten ein onchange
Attribut inline hinzuzufügen:
select_tag(:variable,options_from_collection_for_select(:all, :id, :name)), {:onchange => "(function(e){ e.target.value }).apply(this,arguments)"}
Für meinen Fall, sie ist nicht sicher, wo die genannten Funktionen setzen, oder manchmal finde ich es langweilig, eine Funktion zu erstellen nur einen einfachen Tag zu erstellen. So neigen die Menschen eine Inline-Funktion zu schreiben.
aber eine einfache Linie wie {onchange: "e.target.value"}
wird nicht funktionieren, da es keine Variablen gibt (z event
) definiert sind.
Lösung wäre eine Selbst Ausführung Funktion sein, die Argumente
akzeptiert