Javascript:取得总检查复选框
问题描述:
我有一个表格,并希望找到,有多少个复选框已被选中?Javascript:取得总检查复选框
我复选框ID将是相同的,event_id
和名称将是这样的:data[Noncompetitor][is_black][4]
我哪有?
尽快通知我。
谢谢!
答
一旦你有你的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
是“富”,例如,则:
var checkedCount = countChecked(document.getElementById('foo'));
题外话:很多这方面的东西,可以使用取得了很多容易库,如jQuery,Prototype,YUI,Closure或any of several others,以平滑浏览器差异,为您提供丰富的方式来通过CSS选择器遍历元素等。
var checkedCount = $("#foo :checkbox:checked").length;
...它说,“找到所有经检查发现是的Elemen twith的id
‘富’的后代复选框”:
例如,上面可以使用jQuery这样写然后使用生成的jQuery对象的长度(jQuery对象是类似数组的)。
答
您可以使用下面的代码来检查复选框的数量。
<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>
+1
什么时候它被取消选中? – dogmatic69 2011-04-08 12:48:45
发布一些HTML和一些JS尝试:) – Khez 2011-04-08 12:16:43
元素的ID必须是唯一的。对所有复选框使用相同的ID不起作用。 – Guffa 2011-04-08 12:18:29
*“我的复选框ID相同,'event_id'”*然后你会遇到麻烦。文档中的'id'值** [必须唯一](http://www.w3.org/TR/html5/elements.html#the-id-attribute)**。 – 2011-04-08 12:18:32