[英]How to check value of radio button
我尝试过的所有其他方法均无效。 我只想有条件地检查是否选择了一个无线电,并且将始终选择一个。 我需要知道选择哪一个。
<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
总是会产生对或错。 有什么办法可以解决这个问题?
您需要遍历按钮组并检查.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>
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
var player= document.forms.MyForm.starting.value;
可以解决
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.