我在一张表格上有很多复选框。复选框位于表单的不同部分。我想计算表单上每个部分末尾的复选框数量。
例如,我的表单中有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);"
答案 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区域以触发计数?
由于