我制作了一个代码,其中我获取所选复选框的名称和值,并将其序列化为数组形式。我能够通过堆栈中找到的一些帮助来做到这一点,但我陷入了一个我无法将该数组存储在新变量中或提醒它的点。它唯一能做的就是它在控制台上可见,如果它返回到控制台。我已从以下代码中删除了我想要存储最终结果的行var eg = JSON.stringify(obj)
。但正如我所说它不起作用。
var data = $('input[type=checkbox]').serializeArray(),obj = {};
for(var i = 0; i < data.length; i++){
obj[data[i].name] = obj[data[i].name] || [];
obj[data[i].name].push(data[i].value);
}
// your JSON string
return console.log(JSON.stringify(obj));
我的输出也是
{"territories[nl]":["1"],"territories[px]":["1"],"territories[tu]":["1"]}
但我希望结果像
{"territories[nl]":"1","territories[px]":"1","territories[tu]":"1"}
与["1"]
但不是"1"
中的值不同。
答案 0 :(得分:1)
试试这个
var data = $('input[type=checkbox]').serializeArray(),obj = {};
for(var i = 0; i < data.length; i++){
obj[data[i].name] = data[i].value || "";
}
// your JSON string
return console.log(JSON.stringify(obj));