Javascript 获取所有选中的复选框值

Javascript 获取所有选中的复选框值,javascript,ruby-on-rails,forms,controller,Javascript,Ruby On Rails,Forms,Controller,我有以下表格: <%= form_for([company,service], :remote => true) do |f| %> <%= health_care_insurances.each do |hc_insurance| %> <label><%= hc_insurance.name %></label> <input id="health_care_insurance_&

我有以下表格:

<%= form_for([company,service], :remote => true) do |f| %>
    <%= health_care_insurances.each do |hc_insurance| %>
        <label><%= hc_insurance.name %></label>
        <input id="health_care_insurance_<%= user.id %>" name="<%= hc_insurance.id %>" value="<%= hc_insurance.id %>" type="checkbox"><br/>
    <% end %>
    ...
<% end %>
true)do | f |%>

...
提交时,为了获得良好的性能,我希望得到一个包含所有已检查的“hc_insurance.id”的数组。我知道我可能会使用javascript将它们添加到一个隐藏的_字段中,然后从那里提取它们,但我不确定这是一个好方法


是否有任何rails方法可以从控制器中提取它们?

使所有复选框的名称与array box相同,如下所示(这将仅将选中的值提交到后端)


您好@Coderhs,谢谢,但这不会给我所有的健康保险id而不是只检查的吗?@n您可以在controller health\u care\u insurances.map{| h | i.id}中使用相同的代码获得所有复选框id。如果health_care_Insurance是一个助手,请在控制器中包含其相应的助手模块。谢谢@Coderhs,但问题是我打算在所有health care Insurance对象中省去迭代。也许没有简单的解决方法。如果你在Rails 4.1+,你可以做
HealthCareSurence.pull(:id)
。它只获取id,而不需要遍历所有对象。@n更确切地说,我似乎错过了你的第一条评论。我的第一个代码将只给出选中的值。它不会将所有值提交到后端。。
<input id="health_care_insurance_<%= user.id %>" name="health_care_insurence_ids[]" value="<%= hc_insurance.id %>" type="checkbox"><br/>
HealthCareInsurence.pluck(:id)