Javascript:获取总复选框

Adi*_*att 2 javascript forms checkbox

我有一个表单,想要查找,已检查了多少个复选框?

我的Checkbox ID将是相同的,event_id名称将是这样的:data[Noncompetitor][is_black][4]

我怎么能够?

尽快让我知道.

谢谢 !

T.J*_*der 5

一旦你有了对表单元素的引用,就可以很容易地遍历这些元素:

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;
}
Run Code Online (Sandbox Code Playgroud)

有很多方法可以获得对表单元素的引用.例如,给表单id和使用document.getElementById.

因此,如果您的表单id是"foo",那么:

var checkedCount = countChecked(document.getElementById('foo'));
Run Code Online (Sandbox Code Playgroud)

题外话:很多这方面的东西可以做了很多的使用就像一个图书馆更容易jQuery的,原型,YUI,关闭,或任何其他几个人的平滑过度浏览器的差异,给你丰富的方式来遍历通过CSS选择器的元素,等等.

例如,以上内容可以使用jQuery编写,如下所示:

var checkedCount = $("#foo :checkbox:checked").length;
Run Code Online (Sandbox Code Playgroud)

...说,'找到所有选中的复选框,它们是元素的后代id"foo"',然后使用生成的jQuery对象的长度(jQuery对象是类似数组的).