javascript - querySelectorAll 查找哪个按钮被选中 JavaScript

标签 javascript radio-button

我刚刚学习 JavaScript,并且在使用 radio 按钮和 JavaScript 时遇到问题。我有以下代码:

var cbLoop = document.querySelectorAll('[name="question1"]');
    for(var x in cbLoop){
        if(x.checked){ <-- I assume this is the problem?
            answers[0] = x.value;
        }
    }

question1 指的是 5 个radio 按钮。我想找到当用户单击“提交”按钮时选择了哪个按钮。我想,我无法使用我拥有的 for 循环调用 .checked

有人可以帮忙吗?

最佳答案

使用 for ... in 循环,您将迭代键而不是实际项目。 您可以像下面这样使用 Aarry#forEach:

document.getElementById('btnSubmit').addEventListener('click', function(){
  var cbLoop = document.querySelectorAll('[name="question1"]');
  var answers =[];
  cbLoop.forEach(function(radio){
    if(radio.checked){ 
        answers[0] = radio.value;
    }
  });
  console.log(answers);
});
<input type="radio" name="question1">1</input>
<input type="radio" name="question1">2</input>
<input type="radio" name="question1" checked>3</input>
<input type="radio" name="question1">4</input>
<input type="radio" name="question1">5</input>
<br>
<input type="submit" id="btnSubmit" value="submit" />

OR:使用for循环

document.getElementById('btnSubmit').addEventListener('click', function(){
  var cbLoop = document.querySelectorAll('[name="question1"]');
  var answers = [];
  for(var i = 0; i < cbLoop.length; i++){
    if(cbLoop[i].checked){ 
        answers[0] = cbLoop[i].value;
    }
  }
  console.log(answers);
});
<input type="radio" name="question1">1</input>
<input type="radio" name="question1">2</input>
<input type="radio" name="question1" checked>3</input>
<input type="radio" name="question1">4</input>
<input type="radio" name="question1">5</input>
<br>
<input type="submit" id="btnSubmit" value="submit" />

关于javascript - querySelectorAll 查找哪个按钮被选中 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48000162/

相关文章:

javascript - 在javascript中预编译验证器函数

java - "inactive"提交按钮,直到您单击其中一个单选按钮

java - 将选择的单选按钮值传递给另一个类

php - 使用 javascript 渲染 DIV

javascript - 如何使用javascript更改背景图像的透明度?

javascript - Ember.js 中带有普通 anchor 标记的动态 linkTo

javascript - 为什么 jQuery 会这样做 : jQuery. fn.init.prototype = jQuery.fn?

Javascript:如何使用单选按钮在两个 div 之间显示/隐藏?

Spring FORM 标签库——单选按钮,从消息源加载其 LABEL 属性

html - 如何将 "required"属性与 "radio"输入字段一起使用