Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用输入复选框创建/更新数组_Javascript_Jquery_Html_Ruby On Rails_Checkbox - Fatal编程技术网

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

Javascript 如何使用输入复选框创建/更新数组,javascript,jquery,html,ruby-on-rails,checkbox,Javascript,Jquery,Html,Ruby On Rails,Checkbox,在我看来,我正在遍历一个名为@同事的客户集合,并将其作为复选框输入显示在列表中,如下所示: <ol> <% @colleagues.each do |c|%> <li> <input type="checkbox"> <%= c.full_name %> <%= c.id %> </input> </li>

在我看来,我正在遍历一个名为
@同事的
客户
集合,并将其作为复选框输入显示在列表中,如下所示:

<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());
            }
        });
    });
    
    • 公寓
    • 房子
    • 很多
    • 滤器
    $(文档)。在('单击',“#功能按钮”,函数()上{ var formData=[]; $(“#功能选项li输入”)。每个(功能(e){ 如果($(this).is(“:checked”)){ formData.push($(this.val()); } }); });
    也许这个例子可以帮助您:

    <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());
            }
        });
    });
    
    • 公寓
    • 房子
    • 很多
    • 滤器
    $(文档)。在('单击',“#功能按钮”,函数()上{ var formData=[]; $(“#功能选项li输入”)。每个(功能(e){ 如果($(this).is(“:checked”)){ formData.push($(this.val()); } }); });
    您可以不用JS,而是使用Rails表单。对你有用吗?还是你坚持要我们给你JS解决方案?让我知道,然后我可能可以帮你,仅供参考,输入是void元素,你的HTML标记没有任何意义。现在要将复选框发送到服务器,请设置value和name属性和(或)或使用
    表单来包装them@ArupRakshit我想我需要使用JS,因为我需要使用AJAX在控制器之间来回发送信息,而不会丢失视图,因为它不会以表单提交的形式发送到控制器。你可以不用JS,但是使用Rails表单。对你有用吗?还是你坚持要我们给你JS解决方案?让我知道,然后我可能可以帮你,仅供参考,输入是void元素,你的HTML标记没有任何意义。现在要将复选框发送到服务器,请设置value和name属性和(或)或使用
    表单来包装them@ArupRakshit我想我需要使用JS,因为我需要使用AJAX在控制器之间来回发送信息,而不会丢失视图,因为它不会在表单提交时发送给控制器。这非常有用,谢谢。行$(this.val();正在检索输入标记中指定的值,但我想要的值是id,有没有办法将输入的值设置为@同事的id?是的,如
    顺便说一句,如果您坚持我的答案,请勾选为;)太棒了,我简直不敢相信我自己也没想到!谢谢这很有用谢谢你。行$(this.val();正在检索输入标记中指定的值,但我想要的值是id,有没有办法将输入的值设置为@同事的id?是的,如
    顺便说一句,如果您坚持我的答案,请勾选为;)太棒了,我简直不敢相信我自己也没想到!谢谢