如何使用输入复选框创建/更新数组

How to create/update an array using input checkboxes

本文关键字:更新 数组 创建 复选框 何使用 输入      更新时间:2023-09-26

在我看来,我正在迭代一个名为@colleaguesCustomers集合,并将它们作为复选框输入显示在列表中,如下所示:

<ol>
  <% @colleagues.each do |c|%>
    <li>
       <input type="checkbox">
           <%= c.full_name %>
           <%= c.id %>
       </input>
    </li>
  <% end %>
</ol>

我想做的是将每个选中/选择的名称收集在一个数组中,按下按钮后,该名称将被发送到我的控制器。我的问题是,如何在 javascript 中创建一个动态数组,以便在未选中时将同事的id添加到数组中或删除?

谢谢

也许这个例子可以帮助你:

<ul id="featuresOptions" class="options" style="display: block;">
    <li><label><input type="checkbox" name="Apartment" value="6"> Apartment</label></li>
    <li><label><input type="checkbox" name="House" value="7"> House</label></li>
    <li><label><input type="checkbox" name="Lot" value="8"> Lot</label></li>
    <li><button class="button" id="featuresButton">Filter</button></li>
</ul>
$(document).on('click', "#featuresButton", function() {
    var formData = [];
    $("#featuresOptions li input").each(function(e) {
        if($(this).is(":checked")) {
            formData.push($(this).val());
        }
    });
});