如何检查单选按钮的值

如何检查单选按钮的值

问题描述:

我试过的其他东西都没有奏效。我只想要一个条件来检查是否选择了其中一个收音机,并且总是会选择一个收音机。我需要知道选择哪一个。如何检查单选按钮的值

<label for="starting">Starting Player:</label> <input type="radio" name="starting" value="1" checked>P1 <input type="radio" name="starting" value="2" id="startingPlayer">P2 document.getElementById("startingPlayer").checked==true

要么总是产生真或假。任何方法来解决这个问题?

+1

可以使用选择器:'document.querySelector( '[名称= “开始”]:检查')'。 – RobG

您需要遍历该组按钮并检查.checked属性。

您可以随时做到这一点。在这里,我正在按一下按钮。

var buttons = document.querySelectorAll("input[type=radio]"); 
 
var btnCheck = document.querySelector("button"); 
 
btnCheck.addEventListener("click", checkSelected); 
 

 
function checkSelected(){ 
 
    for(var i = 0; i < buttons.length; ++i){ 
 
    if(buttons[i].checked){ 
 
     console.clear(); 
 
     console.log("The selected radio button has a value of: " + buttons[i].value); 
 
    } 
 
    } 
 
}
<label for="starting">Starting Player:</label> 
 
<input type="radio" name="starting" value="1" checked>P1 
 
<input type="radio" name="starting" value="2" id="startingPlayer">P2 
 
<button>Get Selected Button Value</button>

var player= document.forms.MyForm.starting.value;可以是溶液..

ES6溶液。使用Array#forEachchange事件绑定到每个单选按钮并记录实际选定按钮的值。

var elems = document.getElementsByName('starting'); 
 
Array.from(elems).forEach(v => v.addEventListener('change', function() { 
 
    Array.from(elems).forEach(v => v.checked ? console.log(v.getAttribute('value')) : null) 
 
}))
<label for="starting">Starting Player:</label> 
 
<input type="radio" name="starting" value="1" checked>P1 
 
<input type="radio" name="starting" value="2" id="startingPlayer">P2

+0

这将获得每个被检查的输入,包括所有单选按钮集和复选框。最好以* name *选择符开始,可以是'getElementsByName('starting')'或'querySelectorAll('[name =“starting”]')' – RobG

+0

@RobG好主意。 –