Javascript:获取总复选框

时间:2011-04-08 12:13:37

标签: javascript forms checkbox

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

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

我怎么样?

尽快告诉我。

谢谢!

2 个答案:

答案 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'));

偏离主题:使用像jQueryPrototype,{{{{}}这样的库,可以更轻松地将这些内容变成批次 3}},YUIClosure可以平滑浏览器差异,为您提供通过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>