Javascript 生成一个json文件,其中包含一个键的值数组
我在html页面中有许多复选框。我必须向服务器发送json数据,其中包含所有选中复选框的id数组以及这些复选框的标签。 我正在考虑使用jquery with.each()函数来检查复选框是否已选中,如果已选中,则将其添加到数组中。 我正在寻找的json文件如下Javascript 生成一个json文件,其中包含一个键的值数组,javascript,jquery,json,Javascript,Jquery,Json,我在html页面中有许多复选框。我必须向服务器发送json数据,其中包含所有选中复选框的id数组以及这些复选框的标签。 我正在考虑使用jquery with.each()函数来检查复选框是否已选中,如果已选中,则将其添加到数组中。 我正在寻找的json文件如下 {"checkbox id" : [1, 2, 3], "checkbox label" : ["check1", "check2", "check3"]} 您只需使用jquery:checked选择器即可获得所有选中的复选框 var
{"checkbox id" : [1, 2, 3], "checkbox label" : ["check1", "check2", "check3"]}
您只需使用jquery:checked选择器即可获得所有选中的复选框 var CheckedCheckBox=$(“输入:选中”) 假设此HTML:
<label for="checkBox">Label</label>
<input id="checkBox" type="checkbox" />
你会想到这个:
arr = [{id:"1",label:"labelOne"},{ ... }];
如果您正在寻找格式化JSON的方法,我会将所有信息放在一个数组中的复选框中,如下所示:
{
"checked_boxes" :
[{"id": "1", "label": "checkbox1"},
{"id": "2", "label": "checkbox2"},
{"id": "3", "label": "checkbox3"]
}
如果要保留json结构,可以执行以下操作:
var ids = [];
var labels = [];
$('input[type="checkbox"]').each(function () {
if ($(this).is(':checked')) {
var current_id = $(this).attr('id');
ids.push(current_id);
var current_label = $("label[for='" + $(this).attr('id') + "']").text();
labels.push(current_label);
}
});
var checkboxes = {
"checkbox_id": ids,
"checkbox_label": labels
};
var s_checkboxes = JSON.stringify(checkboxes);
请注意,您不能在浏览器中创建json文件。数据发送后,您必须在服务器端执行此操作。您可以提供一些复选框来使用吗?根据您想要实现的结果,我正在添加带有id的复选框,动态地使用角度js,如“
var ids = [];
var labels = [];
$('input[type="checkbox"]').each(function () {
if ($(this).is(':checked')) {
var current_id = $(this).attr('id');
ids.push(current_id);
var current_label = $("label[for='" + $(this).attr('id') + "']").text();
labels.push(current_label);
}
});
var checkboxes = {
"checkbox_id": ids,
"checkbox_label": labels
};
var s_checkboxes = JSON.stringify(checkboxes);