Ich habe eine Auswahl, die abhängig von der Auswahl in einem anderen ausgewählt wird Um dies zu tun, habe ich getan, was in Railscast # 88 in 'Dynamic Select Menus' empfohlen wird.
Aber jetzt muss ich einen Teil rendern, indem ich den Wert übergebe, der in jedem dieser Selects ausgewählt wurde. Ich kann nicht herausfinden, wie man einfach einen Methodenaufruf aus dem: onchange-Ereignis im select auslöst, also denke ich, dass ich render: partially aus dem JavaScript-Handler heraus aufrufen muss, der das selects change-Ereignis erkennt. Aber ich kann nicht herausfinden, wie. Ich habe Folgendes in der JavaScript-Methode (in der .js.erb-Datei) versucht, aber es funktioniert nicht wie erhofft:
%Vor%Hat jemand eine gute Lösung?
Sie können keine partielle Innenseite von JavaScript rendern, um Änderungsereignisse zu erkennen. Ruby ist Server-Seite und JavaScript ist Client-Seite. Zu dem Zeitpunkt, zu dem JavaScript ausgeführt wird, wurde Ihr Ruby bereits in normales HTML umgewandelt.
Am besten gehen Sie folgendermaßen vor:
Benutze ein AJAX-Steuerelement (es gibt prototype / scriptaculous), um deinen Server im onchange-Event zu treffen. Ihr Server kann RJS zurücksenden, um die anderen Dropdown-Listen zu aktualisieren, oder kann Standard-JSON zurückgeben und Sie können die anderen Dropdown-Listen manuell in der onSuccess
-Methode des AJAX-Aufrufs ausfüllen.
Tags und Links ruby javascript ruby-on-rails