Rails: Wie Wert aus einem anderen Feld erhalten, wenn eine Onchange Remote-Funktion in Textfeld ausführen

StackOverflow https://stackoverflow.com/questions/1131694

Frage

Ich möchte für die Reservierung für entliehene ein Formular erstellen. Eine Reservierung besteht aus Zeit abholen, Rückkehrzeit und Elemente der reserver leihen und ihre Mengen will. Zum Beispiel könnte ich mag drei Platten, drei Messern und drei Gabeln für den Rest der Woche reservieren.

In der Form, ich möchte eine AJAX-Validierung tun, dass es überprüft, ob genügend Elemente zur Verfügung. Neben jeden Artikel habe ich ein Textfeld mit dem der reserver des Positionsbetrag eingibt. Nach der Eingabe, möchte ich einen Onchange Anruf tun, dass die Menge der Artikel überprüft, ob für die angegebenen Daten verfügbar sind. Somit muss ich die Fernfunktion in den folgenden Parametern aufgerufen Onchange passieren: Einheit-ID, Positionsbetrags (Wert des aktuellen Textfeld) und Abholzeit und Rücklaufzeit, die beide in datetime_select Felder oben angegeben sind. Dies ist mein Code:

<% with = "'amount='+value+'&item=#{item.id.to_s}&pick_up_time=#{@reservation.pick_up_time.to_s}&return_time=#{@reservation.return_time.to_s}'" %>
<%= text_field_tag "reservation[#{prefix}reserved_items][#{item.id}]", get_amount_value(item, @reservation), :size => 3, :onchange => "#{remote_function(:url => { :controller => :items, :action => :availability }, :with => with, :update => availability_url) }" %> 

Offensichtlich ist dies nicht funktioniert, da @ reservation.return_time und @ reservation.pick_up_time ist noch nicht festgelegt, da die Form noch nicht gesendet. Meine Frage ist: Wie kann ich diese Werte bekommen? Ich glaube, dass es über einen JavaScript-Aufruf durchgeführt werden soll, aber ich habe es nicht geschafft einen Javascript-Aufruf in dem „mit“ Variable oder zumindest es nicht einfügen zu arbeiten. Hat jemand eine Ahnung, was ich tun soll?

War es hilfreich?

Lösung

Verwendung Prototyp Selektoren $ (# reservations_pick_up_time) .value

das: mit dem Attribut ist nur ein Ort für Sie JS-Code zu schreiben, dass es inline angezeigt werden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top