4

可能重复:
在javascript中获取复选框多维数组

是否可以实现多维复选框数组?

例如

     <input type='checkbox' name='question[0][]' value='0'>
     <input type='checkbox' name='question[0][]' value='1'>
     <input type='checkbox' name='question[0][]' value='2'>

     <input type='checkbox' name='question[1][]' value='0'>
     <input type='checkbox' name='question[1][]' value='1'>
     <input type='checkbox' name='question[1][]' value='2'>

     <input type='checkbox' name='question[2][]' value='0'>
     <input type='checkbox' name='question[2][]' value='1'>
     <input type='checkbox' name='question[2][]' value='2'>

如果这是可能的,您将如何确定是否在 javascript 中选中了复选框?

4

1 回答 1

4

那么可以选择一个特定的复选框。

您可以在 name 属性上进行选择,question[x][]然后遍历这些属性以获取它们的每个检查值。

使用 jQuery 的示例:

var checkedBoxes = {0: [], 1: [], 2: []};
$("input[name='question[0][]']").each(function(){
    checkedBoxes[0].push(this.checked);
});
//then do the same for 1 and 2

//after everything:
console.log(checkedBoxes); //a multidimesional array of checked boxes

或者让它更漂亮

var checkedBoxes = {0: [], 1: [], 2: []};
for(index in checkedBoxes) {
    $("input[name='question[" + index + "][]']").each(function(){
        checkedBoxes[index].push(this.checked);
    });
}
//after everything:
console.log(checkedBoxes); //a multidimesional array of checked boxes

小提琴:http: //jsfiddle.net/maniator/XA8XV/

于 2012-12-14T15:21:13.293 回答