Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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_Ruby_Sinatra - Fatal编程技术网

Javascript 如何序列化复选框?

Javascript 如何序列化复选框?,javascript,ruby,sinatra,Javascript,Ruby,Sinatra,我有一个带有复选框的表,由于某些原因,它不包含表单。我希望获得所有选中的复选框,并通过将它们附加到主表单序列化数据来将它们发送到服务器。我是这样做的: function f1(){ var data = ''; $(".chk").each(function(){ if($(this).is(":checked")){ data += "" // what should be here? } }); return data; } 复选框如下所示: &

我有一个带有复选框的表,由于某些原因,它不包含表单。我希望获得所有选中的复选框,并通过将它们附加到主表单序列化数据来将它们发送到服务器。我是这样做的:

function f1(){
  var data = '';
  $(".chk").each(function(){
    if($(this).is(":checked")){
      data += "" // what should be here?
    }
  });

 return data;
}
复选框如下所示:

<input type="checkbox" class="chk" name="items[]" value="123">

其中值是唯一的id

我猜
data+=
应该像
items[0]=1和item[1]=13和item[2]=445那样


那么我该怎么做呢?

我不是PHP专家,但我觉得它能够构建数组而无需指定索引,即
items[]=1&items[]=13&items[]=445
将给出您期望的结果。@FrédéricHamidi客户端代码是JavaScript,而不是PHP。服务器端是Ruby/Sinatra。它与PHP无关。
function f1(){
  var data = '';
  var i = 0;
  $(".chk").each(function(){
    if($(this).is(":checked")){
      if(i==0){
       data+="?items["+i+"]="+$(this).val();
      }else{          
       data+="&items["+i+"]="+$(this).val();
      }
    }
i++;
  });

 return data;
}