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;
}