2016-05-11 9 views
0

Ich möchte verschiedene bestätigen Dialog basierend auf Ereignissen anzeigen. Ich habe zwei Radiobuttons, richtig oder falsch. Und Strom Ich habe Code in meine Ansichten wie folgt aus:Ändern bestätigen Dialog beim Senden

<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %> 
<table> 
<tr> 
    <td>User Fee?</td> 
    <td> 
    <%= radio_button("user", "need_subscription", "true", class: "subscription_button") %> 
    <%= radio_button("user", "need_subscription", "false", class: "cancel_subscription_button") %> 
    </td> 
    </tr> 
</table> 
<%= f.submit "Save", data: { confirm: 'foo?' } %> 
<% end %> 

Derzeit bin ich Anzeige bestätigen Dialog foo unabhängig davon, welche Radiobutton i wählen und abschicken. Wie kann ich verschiedene Nachrichten in 3 verschiedenen Bedingungen wie folgt festlegen:

1) Wenn meine Standard-Optionsfeld ist wahr, und ich auf false festgelegt. Anzeige foo.

2) Wenn meine Standard-Optionsfeld ist falsch und ich auf True festgelegt. Anzeige bar.

3) Wenn meine Standard-Optionsfeld hat den gleichen Wert wie ich übermittle. Bestätigungsdialog nicht anzeigen.

Vielen Dank für Ihre Hilfe!

Antwort

0

Probieren Sie es durch jquery

var confirm = ($("#"+radio_name).val() == "true") 
    ? "foo" 
    : "bar"; 

$(".submit_button_class").data("confirm", confirm); 
+0

Vielen Dank für Ihre Antwort zu tun, aber das ist meine dritte Bedingung nicht erfüllt. Irgendeine Idee wie kann ich nichts zurückgeben, wenn sich der Standardwert nicht geändert hat? – pyfl88

Verwandte Themen