Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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_Dynamic Forms - Fatal编程技术网

Javascript 从动态复选框创建JSON对象

Javascript 从动态复选框创建JSON对象,javascript,jquery,json,dynamic-forms,Javascript,Jquery,Json,Dynamic Forms,首先,我刚开始使用jQuery,所以请不要容忍我 我正在尝试将我的数据转换为以下格式 { "qualifications": [ "1", "7" ], units: [ "7", "3", "1" ] } HTML是 <div class="control-group "> <label for="qualifications" class="control-label required">Qualifi

首先,我刚开始使用jQuery,所以请不要容忍我

我正在尝试将我的数据转换为以下格式

{
"qualifications": [
    "1",
    "7"
],
units: [
    "7",
    "3",
    "1"
]
}
HTML是

        <div class="control-group ">
    <label for="qualifications" class="control-label required">Qualifications</label>
    <div id="qual-holder" class="controls">
        <table class="table">
            <tbody>
                <tr>
                    <td>Induction</td>
                    <td>
                        <div class="switch" data-on-label="In" data-on="info" data-off-label="Out">
                            <input id="qual" name="qual[1]" type="checkbox" value="1">
                        </div>
                    </td>
                </tr>
                <tr>
                    <td>LearnerZone Academy</td>
                    <td>
                        <div class="switch" data-on-label="In" data-on="info" data-off-label="Out">
                            <input id="qual" name="qual[7]" type="checkbox" value="7">
                        </div>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</div>
<div class="control-group ">
    <label for="units" class="control-label required">Units</label>
    <div id="unit-holder" class="controls">
        <table class="table">
            <tbody>
                <tr>
                    <td>Data Protection (DP1)</td>
                    <td>
                        <div class="switch" data-on-label="In" data-on="info" data-off-label="Out">
                            <input id="unit" name="unit[7]" type="checkbox" value="7">
                        </div>
                    </td>
                </tr>
                <tr>
                    <td>Equal Opportunities (EQ1)</td>
                    <td>
                        <div class="switch" data-on-label="In" data-on="info" data-off-label="Out">
                            <input id="unit" name="unit[3]" type="checkbox" value="3">
                        </div>
                    </td>
                </tr>
                <tr>
                    <td>Health &amp; Safety (HS1)</td>
                    <td>
                        <div class="switch" data-on-label="In" data-on="info" data-off-label="Out">
                            <input id="unit" name="unit[1]" type="checkbox" value="1">
                        </div>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</div>
其思想是,用户将选中一个或多个复选框,然后我可以将这些复选框传递给ajax调用以缩小选择计数

有人能帮我吗?

从复选框名称中删除该值,使其成为:

<input id="qual" name="qual[]" type="checkbox" value="1">
                           ^ nothing in here
<input id="unit" name="unit[]" type="checkbox" value="7">

那么,对于最终的JSON:

var json = JSON.stringify({ qualifications : qualifications, units : units });
输出(全部选中):

$.each($('input[name="qual[]"]:checked'), function() {
$.each($('input[name="unit[]"]:checked'), function() {
var json = JSON.stringify({ qualifications : qualifications, units : units });
{
    "qualifications": [
        "1",
        "7"
    ],
    "units": [
        "7",
        "3",
        "1"
    ]
}