【问题标题】:count checkboxes in a form using javascript使用javascript计算表单中的复选框
【发布时间】:2013-12-27 18:11:12
【问题描述】:

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

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

有人有这个脚本吗?我从支持人员那里得到了一个 sn-p,但他们没有完整的解决方案,而且我对 JavaScript 的了解还不够,无法完成它。我已经尝试弄清楚了,所以我可以完成它。这是他们发给我的sn-p:

<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);"

【问题讨论】:

  • 能否也提供HTML?

标签: javascript html checkbox


【解决方案1】:
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 包含带有每组复选框名称的属性,并且值是计数。随心所欲。

【讨论】:

    【解决方案2】:

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

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-02
      • 2014-10-10
      • 1970-01-01
      • 2020-02-17
      • 2021-10-07
      • 1970-01-01
      • 2018-03-27
      • 2018-04-21
      相关资源
      最近更新 更多