简体   繁体   English

如何使用 JavaScript 检查是否仅选择了一个单选按钮?

[英]How to check if only a radio button is selected using JavaScript?

I want to select only one option in a radio element, I made it work but my solution is kinda dumb.我想 select 在无线电元素中只有一个选项,我让它工作但我的解决方案有点愚蠢。 How can I do it better.我怎样才能做得更好。

 function check1(){ var p1 =document.getElementById("PMLN"); var p2 =document.getElementById("PMLA"); var p3 =document.getElementById("PMLAD"); if(p1.checked == true & p2.checked == false & p3.checked==false){ console.log('press 1'); } if(p2.checked == true & p1.checked == false & p3.checked==false){ console.log('press 2'); } if(p3.checked == true & p2.checked == false & p1.checked==false){ console.log('press 3'); } }
 <h3>Tractor 1</h3> <input type="radio" name="Tractors" id="PMLN"/> <h3>Tractor 2</h3> <input type="radio" name="Tractors" id="PMLA"/> <h3>Tractor 3</h3> <input type="radio" name="Tractors" id="PMLAD" /> <br><br> <button onclick="check1()">Try it</button>

Taken from Geeks For Geeks取自Geeks For Geeks

Due to the nature of radio buttons, only one can be selected as long as the "name" attribute is the same between the buttons.由于单选按钮的性质,只要按钮之间的“名称”属性相同,就只能选择一个。 To figure out which one is currently selected, you can get all of the elements with that name, and iterate over them, checking which value is true.要确定当前选择了哪一个,您可以获取具有该名称的所有元素,并对其进行迭代,检查哪个值为 true。

Example (vanilla javascript):示例(香草 javascript):

let ele = document.getElementsByName('Tractors'); 

for(let i = 0; i < ele.length; i++) { 
   if(ele[i].checked)  {
       console.log(`Pressed ${ele[i]}`);
   } 
}

Or using jQuery:或使用 jQuery:

$("input[name='Tractors']:checked").val();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM