Html 同时选择单选按钮并在Rails中提交表单

Html 同时选择单选按钮并在Rails中提交表单,html,ruby-on-rails,ruby,forms,Html,Ruby On Rails,Ruby,Forms,现在我有一个单选按钮,可以选择一个特定的计划id。这很好,效果也很好。但是,我也希望它在选择时提交表格。有没有干净的方法可以做到这一点?似乎应该有一个简单的方法,但我似乎找不到 这是我的密码: <label> <input type="radio" id="plan_id_1" name="plan_id" value="1" /> <%= f.submit "Select", class: "button-big rev

现在我有一个单选按钮,可以选择一个特定的
计划id
。这很好,效果也很好。但是,我也希望它在选择时提交表格。有没有干净的方法可以做到这一点?似乎应该有一个简单的方法,但我似乎找不到

这是我的密码:

      <label>
        <input type="radio" id="plan_id_1" name="plan_id" value="1" />
        <%= f.submit "Select", class: "button-big reverse-blue" %>
      </label>


现在,这需要选择单选按钮,然后单击提交按钮。如何将其转换为一个操作?

您可以提交表单,而无需使用几行自定义JavaScript代码显式单击“提交”按钮

有几种方法可以做到这一点

选项1-
:单击
选项 使用

onclick
code中,您可以使用jQuery选择表单,然后提交表单。您使用什么选择器取决于您

// data attributes (my preference because it's explicit and flexible)
$('[data-target=my-form]')

// using jQuery's closest() method; "this" will refer to the radio button you clicked
$(this).closest(form)

// an ID or class
$("#my-form")
$(".my-form")
选择表单后,只需调用表单上的
submit
方法

总而言之

<%= f.radio_button :plan_id, 1, onclick: "$(this).closest('form').submit();" %>
现在,将该特殊数据属性附加到单选按钮本身以启用该行为

<%= f.radio_button :plan_id, 1, data: { behavior: "submit-on-click" } %>

我的习惯是使用
数据行为
数据属性,但任何选择器都可以

这种方法的优点在于,如果有多个单选按钮,只需向每个按钮添加相同的数据属性,就可以赋予它们相同的行为

额外资源
  • <%= f.radio_button :plan_id, 1, onclick: "$(this).closest('form').submit();" %>
    
    $(document).on("click", "[data-behavior=submit-on-click]", function() {
        $form = $(this).closest('form'); // select the form
        $form.submit(); // submit it
    });
    
    <%= f.radio_button :plan_id, 1, data: { behavior: "submit-on-click" } %>