【问题标题】:adding radio button values in separate groups using javascript使用 javascript 在不同的组中添加单选按钮值
【发布时间】:2013-10-10 03:56:58
【问题描述】:

我有一个带有单选按钮的表单,我使用 javascript 循环遍历并将所有单选按钮的总和返回到页面底部的输入元素。我正在使用的脚本就是这个,它工作正常。

<script type="text/javascript">
function checkTotal() {
var radios = document.querySelectorAll('input[type=radio]'),
    sumField = document.querySelector('input[type=text]');
    var sum = 0;

    for (var i = 0, len = radios.length - 1; i <= len; i++) {
        if (radios[i].checked) {
            sum += parseInt(radios[i].value);
        }
    }
    sumField.value = sum;
}
</script>

这是我的表格http://cognitive-connections.com/Prefrontal_Cortex_Questionnaire.htm

但是,我需要构建另一个表单,其中不同组中有多个问题,我需要分别汇总每个组的总数,并将它们相应地发布到页面上相应的输入元素。这是我的新表单http://cognitive-connections.com/Prefrontal_Cortex_Questionnaire100913.htm

我不是高级 javascript 用户,但对编程本身有很好的理解(我想,哈哈)我的头脑告诉我,我应该能够简单地为每个不同的组和一个独特的元素声明一个唯一的 var将其结果发布到每个组并使用相同的循环(每个组具有正确的变量)。但是,当我添加 [name="elements name"] 作为 document.querySelectAll 的标识符时,它只抓取具有该名称的元素,如果我将元素本身命名为相同的名称,则单选按钮会失去其固有属性,即只允许一个单选每次选择每个问题的按钮?我还尝试为每个组创建一个类 ID,并尝试将其用作 document.querySelectAll 中的标识符,但它似乎根本不起作用。任何帮助都非常感谢..

【问题讨论】:

  • jquery 对你有好处吗?
  • 请在此处发布相关代码(HTML、CSS 和 JavaScript),将演示发布到我们可以查看和编辑代码的站点,例如 @ 987654323@、JS BinDabblet 等等。浏览您的网站并不像您想象的那么有趣,并且创建更新/修改远,比应有的困难。帮助我们为您提供帮助,您往往会得到更好、更快的答案。
  • 我想通了,我的想法是正确的,我只需要确保我的所有变量都是正确的。无论如何,谢谢..

标签: javascript


【解决方案1】:

根据我对问题的理解,以下是我的回答。这是小提琴http://jsfiddle.net/8sbpX/10/

function enableQ(cls) {
  var ele = document.querySelectorAll('.' + cls)[0],
    ev = (document.addEventListener ? "#addEventListener" : "on#attachEvent").split('#');
  ele[ev[1]](ev[0] + "change", function () {
    var radios = ele.querySelectorAll('[type="radio"][value="1"]:checked').length;
    ele.querySelector('[type="text"]').value = radios;
  });

}

enableQ("rad-grp");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    相关资源
    最近更新 更多