我有一个表单,想要查找,已检查了多少个复选框?
我的Checkbox ID相同,event_id
,名称将是这样的:data[Noncompetitor][is_black][4]
我怎么样?
尽快告诉我。
谢谢!
答案 0 :(得分:5)
一旦您引用了form's element,就可以轻松浏览元素:
function countChecked(form) {
var index, element;
for (index = 0; index < form.elements.length; ++index) {
element = form.elements[index];
// You may want to check `element.name` here as well
if (element.type.toUpperCase() == "CHECKBOX" && element.checked) {
++checked;
}
}
return checked;
}
有很多方法可以获得对表单元素的引用。例如,将表单设为id
并使用document.getElementById
。
因此,如果您的表单id
是“foo”,那么:
var checkedCount = countChecked(document.getElementById('foo'));
偏离主题:使用像jQuery,Prototype,{{{{}}这样的库,可以更轻松地将这些内容变成批次 3}},YUI或Closure可以平滑浏览器差异,为您提供通过CSS选择器遍历元素的丰富方式等。
例如,上面的内容可以使用jQuery编写:
var checkedCount = $("#foo :checkbox:checked").length;
...其中说,'找到所有选中的复选框,它们是id
“foo”'的元素的后代,然后使用生成的jQuery对象的长度(jQuery)对象是类似数组的。)
答案 1 :(得分:-1)
您可以使用以下代码获取已选中复选框的数量。
<html>
<head>
<script type="text/javascript">
var index = 0;
function check()
{
index++;
document.getElementById('text').innerHTML = "You have Checked \t"+index+"\t checkboxes";
}
</script>
</head>
<body>
<input type="checkbox" onclick="check()"/>
<input type="checkbox" onclick="check()"/>
<input type="checkbox" onclick="check()"/>
<input type="checkbox" onclick="check()"/>
<input type="checkbox" onclick="check()"/>
<input type="checkbox" onclick="check()"/>
<div id="text"></div>
</body>
</html>