Php 将每个动态创建的复选框数组连接到其自己的逗号分隔列表中

Php 将每个动态创建的复选框数组连接到其自己的逗号分隔列表中,php,jquery,arrays,Php,Jquery,Arrays,我有一个我正在创建的表单,它有一个带有一组复选框的初始表单字段: <div class='form-group'> <label class="radio control-label" style="text-align:left;">Sizes</label> <label class="checkbox-inline"><input type="checkbox" value="728x90" name="sizes[]"

我有一个我正在创建的表单,它有一个带有一组复选框的初始表单字段:

<div class='form-group'>
    <label class="radio control-label" style="text-align:left;">Sizes</label>
    <label class="checkbox-inline"><input type="checkbox" value="728x90" name="sizes[]">728x90</label>
    <label class="checkbox-inline"><input type="checkbox" value="300x250" name="sizes[]">300x250</label>
    <label class="checkbox-inline"><input type="checkbox" value="320x50" name="sizes[]">320x50</label>
    <label class="checkbox-inline"><input type="checkbox" value="300x600" name="sizes[]">300x600</label>
    <label class="checkbox-inline"><input type="checkbox" value="510x60" name="sizes[]">510x60</label>
    <label class="checkbox-inline"><input type="checkbox" value="Other" name="sizes[]">Other</label>
    <input class="form-control" id="sizes" name="join_sizes[]" size="70" type="hidden" />
</div>
检查我的帖子数据时遇到的问题是,我得到一个
join_size[]
字段,该字段与从第一组框中选择的内容相同/重复


我想我需要一把钥匙,但我想不出来。非常感谢您的帮助。

此代码中有两个问题

  • 因为您使用的是动态元素,所以需要使用事件委派
  • 选中复选框时,需要在同一“表单”组中设置
    join\u size
    元素的值
  • $(窗口).load(函数(){
    $(文档)。在('click','input[name=“size[]”上,函数(){
    var$group=$(this).closest('.formgroup');
    $group.find('input[name=“join_size[]”“]).val(function(){
    返回$group.find('input[name=“size[]”):checked').map(function(){
    返回此.value;
    }).get().join();
    });
    });
    $('.add_field_button')。单击(函数(){
    var$clone=$('.form group').first().clone();
    $clone.find('input:checkbox').prop('checked',false.).end().find('input[name=“join_size[]”)').val(“”);
    $clone.insertAfter('.form组:最后一个')
    })
    });
    
    
    尺寸
    728x90
    300x250
    320x50
    300x600
    510x60
    其他
    
    <input class="btn btn-success form-control add_field_button" type="button" value="+" />
    
    $(window).load(function(){
        $(function() {
            $('input').on('click', function() {
            var values = [];
        $('input:checked').each(function() {
            values.push($(this).parent().text());
            });
        $('[name="join_sizes[]"]').attr({value: values.join(', ')});
            });
        });
    });