使用javascript计算表单中的复选框

时间:2013-12-27 18:11:12

标签: javascript html checkbox

我在一张表格上有很多复选框。复选框位于表单的不同部分。我想计算表单上每个部分末尾的复选框数量。

例如,我的表单中有6个部分,每个部分中有6到10个复选框。我想在每个部分的末尾有一个带有数字值的文本框,告诉我在该特定部分中检查了多少个复选框。

有人有脚本吗?我有一个来自支持人员的片段,但他们没有完整的解决方案,我不太了解JavaScript,无法完成它。我正试图弄明白,所以我可以完成它。以下是他们发给我的片段:

<script type="text/JavaScript">
function countcheck(checkName){

    inputElems = document.getElementsByName(checkName);
    count = 0;
    for (i = 0; i < inputElems.length; i++) {
        if (inputElems.checked === true) {
            count++;
            document.getElementById("teval_engage7").value = count;
        }
    }
}
</script>   

该脚本仅计算该组中已选中的复选框。基本上,您需要为每个复选框提供一个函数,以便您可以使用单独的计数器。根据相关功能,这还需要一个属性到您的复选框:

onclick="countcheck(this.name);"

2 个答案:

答案 0 :(得分:0)

var cb_counts = {};
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
    var input = inputs[i];
    if (input.type = 'checkbox' && input.checked) {
        if (cb_counts[input.name]) {
            cb_counts[input.name]++;
        } else {
            (cb_counts[input.name] = 1);
        }
    }
}

现在,对象cb_counts包含具有每组复选框名称的属性,值是计数。按照你的意愿做到这一点。

答案 1 :(得分:0)

感谢您的快速回复。我使用应用程序调用rsform来帮助制作表单。在脚本上我有“teval_engage7”是文本框,它存储已检查的复选框数量的值。 “onclick =”countcheck(this.name);“”是我在每个复选框问题下面的触发器。因此,当我转到表单并单击附加了该触发器的复选框时,“1”的值将显示在teval_engage7文本框中。单击下一个复选框,然后在teval_engage7文本框中显示“2”。我的问题是,您可以使用您编写的存储值的脚本,以便我可以用该名称替换我的文本框名称。另外,我是否使用相同的触发器“onclick =”countcheck(this.name);“”附加到我的复选框attibute区域以触发计数?

由于