如何将复选框数据发送到JSON数组?

fra*_*gon 2 html javascript forms arrays json

我是.js的新手,我将从.js复选框形式的答案导出到JSON数组时遇到问题.

我的HTML:

<form>
<input type="checkbox" name="Question1" id="Answer1" value="Answer1" onclick="show_checked()"/><label for="Answer1">Answer 1</label><br/>
<input type="checkbox" name="Question1" id="Answer2" value="Answer2" onclick="show_checked()"/><label for="Answer2">Answer 2</label><br/>
<input type="checkbox" name="Question1" id="Answer3" value="Answer3" onclick="show_checked()"/><label for="Answer3">Answer 3</label><br/>
</form>
Run Code Online (Sandbox Code Playgroud)

我的Javascript:

function set_checked(checked) 
    $('input[name=foo]').attr('checked', checked);
}
$(document).ready(function () {
            $("input[name='Question1']").change(function () {
                var maxAllowed = 2; 
                var cnt = $("input[name='Question1']:checked").length;
                if (cnt > maxAllowed) {
                    $(this).prop("checked", "");
                    alert('Choose max. ' + maxAllowed + ' answers');
                }
            });
        });
Run Code Online (Sandbox Code Playgroud)

问题是,如何将已选中复选框的ID或值发送到JSON数组?

Aru*_*hny 9

获取数组的值

var array =  $("input[name='Question1']:checked").map(function(){
    return this.value;
}).get()
Run Code Online (Sandbox Code Playgroud)

获取数组的ID

var array =  $("input[name='Question1']:checked").map(function(){
    return this.id;
}).get()
Run Code Online (Sandbox Code Playgroud)


U.P*_*U.P 5

看看这段代码是否有帮助

var objArray = [];
$("input[name='Question1']:checked").each(function (index, elem) {
    var id = $(this).attr('id');
    var val = $(this).val();
    var obj = {
        Id = id,
        Value = val
    };
    objArray.push(obj);
});
Run Code Online (Sandbox Code Playgroud)