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

这是我的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;

我一直没有定义。


当前回答

如果你正在使用JQuery,请使用下面的单选按钮组片段。

var radioBtValue= $('input[type=radio][name=radiobt]:checked').val();

其他回答

这适用于IE9及以上版本和所有其他浏览器。

document.querySelector('input[name="rate"]:checked').value;

还可以在元素上使用forEach-loop循环遍历按钮

    var elements = document.getElementsByName('radioButton');
    var checkedButton;
    console.log(elements);
    elements.forEach(e => {
        if (e.checked) {
            //if radio button is checked, set sort style
            checkedButton = e.value;
        }
    });
var rates = document.getElementById('rates').value;

rates元素是一个div,所以它没有值。这可能就是未定义的来源。

checked属性会告诉你元素是否被选中:

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

Or

$("input[type='radio'][name='rate']:checked").val();

只需使用:document.querySelector('input[rate][checked]').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"