每次选中单选按钮时都添加到变量?
Add to a variable each time a radio btn is checked?
我有 2 个变量和 3 个无线电 btns。每次检查收音机时,我都希望将 1 添加到 2 个变量之一(如果是收音机 #1 或 #3,则应将其添加到 var countA,否则应添加到 countB)。我只想使用 Javascript(而不是 jQuery),我的代码一定有问题,因为当按钮时,段落不会将其内部 HTML 更改为 countA 和 countB 的值我点击了。
JAVASCRIPT:
var countA = 0
var countB = 0
function check() {
var 1 = document.getElementById("1").checked
var 2 = document.getElementById("2").checked
var 3 = document.getElementById("3").checked
var radios = document.getElementsByTagName("input")
for (var i=0; i<radios.length; i++) {
if (1 == true) {
countA++
}
if (2 == true) {
countB++
}
if (3 == true) {
countA++
}
}
document.getElementById("p").innerHTML = countA
document.getElementById("p2").innerHTML = countB
}
HTML:
<input type = "radio" id="1" class="a">
<input type="radio" id="2" class="b">
<input type="radio" id="3" class="a"><br>
CountA: <p id="p"></p>
CountB: <p id="p2"></p><br>
<button id="btn" oncick="check()">Click</button>
为什么不这样做,
document.querySelectorAll("#1, #2").forEach(e => e.addEventListener('change', ({checked, id}) => {
if(checked) {
if(id === "1") countA++
else if(id === "2") countB++
}
}));
你可以获得被选中的单选按钮的 id
并根据 that.Also 增加计数的值,你没有给你的单选按钮 name
给他们所以一次只能点击一个按钮。
演示代码 :
var countA = 0
var countB = 0
function check() {
//getting length
var radios = document.getElementsByTagName('input').length
var selctor=document.getElementsByTagName('input');
for (var i = 0; i < radios; i++) {
//checking if radio is checked
if (selctor[i].checked) {
console.log("id-->"+selctor[i].getAttribute('id'))
//checking id
if (selctor[i].getAttribute('id') == 1 || selctor[i].getAttribute('id') == 3) {
countA++
}
if (selctor[i].getAttribute('id') == 2) {
countB++
}
}
}
document.getElementById("p").innerHTML = countA
document.getElementById("p2").innerHTML = countB
}
<input type="radio" id="1" class="a" name="radio" >
<input type="radio" id="2" class="b" name="radio">
<input type="radio" id="3" class="a" name="radio"><br> CountA:
<p id="p"></p>
CountB:
<p id="p2"></p><br>
<button id="btn" onclick="check()">Click</button>
我有 2 个变量和 3 个无线电 btns。每次检查收音机时,我都希望将 1 添加到 2 个变量之一(如果是收音机 #1 或 #3,则应将其添加到 var countA,否则应添加到 countB)。我只想使用 Javascript(而不是 jQuery),我的代码一定有问题,因为当按钮时,段落不会将其内部 HTML 更改为 countA 和 countB 的值我点击了。 JAVASCRIPT:
var countA = 0
var countB = 0
function check() {
var 1 = document.getElementById("1").checked
var 2 = document.getElementById("2").checked
var 3 = document.getElementById("3").checked
var radios = document.getElementsByTagName("input")
for (var i=0; i<radios.length; i++) {
if (1 == true) {
countA++
}
if (2 == true) {
countB++
}
if (3 == true) {
countA++
}
}
document.getElementById("p").innerHTML = countA
document.getElementById("p2").innerHTML = countB
}
HTML:
<input type = "radio" id="1" class="a">
<input type="radio" id="2" class="b">
<input type="radio" id="3" class="a"><br>
CountA: <p id="p"></p>
CountB: <p id="p2"></p><br>
<button id="btn" oncick="check()">Click</button>
为什么不这样做,
document.querySelectorAll("#1, #2").forEach(e => e.addEventListener('change', ({checked, id}) => {
if(checked) {
if(id === "1") countA++
else if(id === "2") countB++
}
}));
你可以获得被选中的单选按钮的 id
并根据 that.Also 增加计数的值,你没有给你的单选按钮 name
给他们所以一次只能点击一个按钮。
演示代码 :
var countA = 0
var countB = 0
function check() {
//getting length
var radios = document.getElementsByTagName('input').length
var selctor=document.getElementsByTagName('input');
for (var i = 0; i < radios; i++) {
//checking if radio is checked
if (selctor[i].checked) {
console.log("id-->"+selctor[i].getAttribute('id'))
//checking id
if (selctor[i].getAttribute('id') == 1 || selctor[i].getAttribute('id') == 3) {
countA++
}
if (selctor[i].getAttribute('id') == 2) {
countB++
}
}
}
document.getElementById("p").innerHTML = countA
document.getElementById("p2").innerHTML = countB
}
<input type="radio" id="1" class="a" name="radio" >
<input type="radio" id="2" class="b" name="radio">
<input type="radio" id="3" class="a" name="radio"><br> CountA:
<p id="p"></p>
CountB:
<p id="p2"></p><br>
<button id="btn" onclick="check()">Click</button>