Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 生成一个json文件,其中包含一个键的值数组_Javascript_Jquery_Json - Fatal编程技术网

Javascript 生成一个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

我在html页面中有许多复选框。我必须向服务器发送json数据,其中包含所有选中复选框的id数组以及这些复选框的标签。 我正在考虑使用jquery with.each()函数来检查复选框是否已选中,如果已选中,则将其添加到数组中。 我正在寻找的json文件如下

{"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,如“
  • {{missioncontent.info}
  • '因此您应该能够给出输出。“missioncontent.id”是复选框的id,“missioncontent.info”是复选框的标签我正在努力制作上述格式的json文件,数组中已经有ID和标签,如何制作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);