Hallo zusammen,
ich würde gerne einen Onchange-Event auf einem Dropdown-Feld realisieren und komme dabei nicht weiter...
Mittlerweile habe ich schon recht intensiv in Netz recherchiert, aber dort ist immer die onchange=>remote_function notiert, die es ja ab den neueren Versionen nicht mehr gibt.
Kurz das Szenario:
Es gibt ein Spiel(game) mit mehreren Sätzen(game_set),
Das Dropdownfeld befindet sich in der View von Games und beinhaltet die Punkte der Sätze.
Die Auswahl im Dropdown Feld sind allerdings einfache Zahlen und werden nicht aus der Datenbank gelesen.
Hier meine Fragen:
1. Wie kann ich mit Rails die geänderten Werte des Dropdown-Feld auslesen und an den Controller übergeben.
2. Zum Anderen, wie kann ich am besten mit OnChange einen Ajax-Event auslösen, das nur die Satzpunkte aktualisiert.
Ein kleiner Codeausschnitt des selects:
1 2 3 4
|
#@ range_points ist einfach nur ein Array mit einzelnen Zahlen von 1-30 #snippet <%= select "set", 'id', @range_points, {:selected => set.points_one},{ :onchange=> {:action=> "index", :update_sets=> true} } %> <%= link_to "Update", {:controller=> "games", :action => "index", :id=> set.id, :remote=> true, :points_one=>set.points_one, :points_two=> set.points_two, :update_sets=>true} %> |
Jetzt würde ich im Select so etwas in der Art wie im link_to verwirklichen, so dass bei einer Änderung der Werte im Dropdownfeld die Punkte direkt aktualisiert werden.
Im Controller habe ich in der IndexMethode eine Abfrage über den Parameter update_sets, wenn dieser vorhanden ist, wird der Satz aktualisiert.(Würde man so machen, und dann die Index-Seite wieder neu laden, oder kann man da nicht partiell die neuen Daten laden?)
Die Aktualisierung würde klappen, sofern ich nur ein Textfeld hätte und es aktualisieren würde, allerdings möchte ich hier einfach nur das Dropdown-Feld zur Auswahl und Anzeige haben.
Sollte es hierfür auch eine einfachere Lösung durch Rails-Konventionen geben, wäre ich ebenso dankbar.
Besten Dank im Voraus für jegliche Hilfe!