我想从一组单选按钮中获得选定的值。

这是我的HTML:

<div id="rates">
  <input type="radio" id="r1" name="rate" value="Fixed Rate"> Fixed Rate
  <input type="radio" id="r2" name="rate" value="Variable Rate"> Variable Rate
  <input type="radio" id="r3" name="rate" value="Multi Rate" checked="checked"> Multi Rate  
</div>

这是我的js:

var rates = document.getElementById('rates').value;
var rate_value;
if(rates =='Fixed Rate'){
    rate_value = document.getElementById('r1').value;
    
}else if(rates =='Variable Rate'){
    rate_value = document.getElementById('r2').value;
    
}else if(rates =='Multi Rate'){
    rate_value = document.getElementById('r3').value;
}  

document.getElementById('results').innerHTML = rate_value;

我一直没有定义。


当前回答

HTML代码:

<输入类型=“无线电” 名称=“rdoName” 值=“是”/> <输入类型=“无线电” 名称=“rdoName” 值=“NO”/>

JQUERY代码:

var value= $("input:radio[name=rdoName]:checked").val();

$(“#btnSubmit”).click(function(){ var value=$(“input:radio[name=rdoName]:checked”).val(); 控制台.log(值); 警报(值); }) <script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js”></script> <输入类型=“无线电” 名称=“rdoName” 值=“是”/> 是 <输入类型=“无线电” 名称=“rdoName” 值=“否”/> 否 <br/> <input type=“button”id=“btnSubmit”value=“哪一个选择了”/>

你会得到

value="YES" //if checked Radio Button with the value "YES"
value="NO" //if checked Radio Button with the value "NO"

其他回答

var rates=document.getElementsByName("rate"); for (i = 0; i < rates.length; i++) { if (rates[i].checked) { console.log(rates[i].value); rate=rates[i].value; document.getElementById("rate").innerHTML = rate; alert(rate); } } <div id="rates"> <input type="radio" id="r1" name="rate" value="Fixed Rate"> Fixed Rate <input type="radio" id="r2" name="rate" value="Variable Rate"> Variable Rate <input type="radio" id="r3" name="rate" value="Multi Rate" checked="checked"> Multi Rate </div> </br> <div id='rate'> </div>

在Javascript中,我们可以通过使用Id的“getElementById()”来获取值,在上面的代码中,您发布的包含名称而不是Id 所以你需要这样修改

if (document.getElementById('r1').checked) {
  rate_value = document.getElementById('r1').value;
}

根据您的代码使用这个rate_value

你可以使用.find()来选择选中的元素:

var radio = Array.from(document.querySelectorAll('#rate input'))

var value = radio.length && radio.find(r => r.checked).value

下面是一种解决方案,将单选按钮放在一个常量中,只在需要时获取所选值。

Const rates = document.forms.rates.elements["rate"] showRate () 函数showRate () { . getelementbyid(的结果)。innerHTML = rates.value } <form id="rates" onchange="showRate()" > <input type="radio" id="r1" name="rate" value="Fixed rate" >固定利率 <input type="radio" id="r2" name="rate" value="可变利率">可变利率 <input type="radio" id="r3" name="rate" value="Multi rate" checked="checked"> Multi rate . > < /形式 < div id = "结果" > < / div >

var rates = document.getElementById('rates').value;

不能获得单选按钮的值,而是使用

rate_value = document.getElementById('r1').value;