【发布时间】:2012-11-12 12:53:23
【问题描述】:
是否可以实现一个多维的复选框数组?
例如
<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 中确定复选框是否被选中?
【问题讨论】:
-
是的,这些复选框的值将在接收端(服务器端)显示为多维数组。不,这些复选框不会在 Javascript 中变成多维的。您必须单独访问每个复选框并确定它是否被选中。
-
document.getElementById("questionForm").elements['question[][]'][i][j].checked 这行得通吗?
-
不,这行不通。复选框名称属性中的
[]就是它的名称。它不会转换为 DOM 中的数组。 -
但是请注意,PHP 对以大括号结尾的参数名称具有特殊功能/支持。当访问
$_POST['question']时,PHP 将“自动”将它们转换为单个数组。 JavaScript 和 JSP 等其他服务器端语言不这样做。如何在 JSP/Servlet 中访问它在 stackoverflow.com/a/13087174 和 stackoverflow.com/a/4902050 中进行了演示 -
@CarlSaldanha 看到我的更新。我添加了一个替代的“更高级”选项^_^
标签: javascript html forms