我尝试的其他所有事情都没有奏效。我只想要一个条件来检查是否选择了一个无线电,并且总是选择一个无线电。我需要知道选择了哪一个。
<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
要么总是产生真假。有办法解决这个问题吗?
答案 0 :(得分:1)
您需要遍历这组按钮并检查.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>
答案 1 :(得分:0)
ES6 解决方案。使用Array#forEach
将change
事件绑定到每个单选按钮,并记录实际选定按钮的值。
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
答案 2 :(得分:-1)
var player= document.forms.MyForm.starting.value;
可以是解决方案..