如何获得所选单选按钮的价值?
我想从一组单选按钮中获取选定的值。
这是我的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;
我一直不确定。
如果按钮采用
var myform = new FormData(getformbywhatever); myform.get("rate");
QuerySelector 形式,则是更好的解决方案。但是,这种方法很容易理解,尤其是在您对CSS不了解的情况下。另外,输入字段很可能还是采用某种形式。
没有检查,还有其他类似的解决方案,对不起,重复
然后...
对以前建议的功能的改进:
假定您的表单元素由
myForm
下面的变量引用,并且您的单选按钮共享名称“ my-radio-button-group-name”,则以下内容是纯JavaScript并符合标准的(尽管我没有检查过它在任何地方都可用) ):上面将产生一个选中(或选中,也称为)单选按钮元素(如果有)或
null
其他值。解决方案的关键是namedItem
专门用于单选按钮的功能。请参阅HTMLFormElement.elements,HTMLFormControlsCollection.namedItem,尤其是RadioNodeList.value,
namedItem
通常会返回一个RadioNodeList
对象。我之所以使用MDN,是因为它允许人们至少在很大程度上跟踪标准的符合性,并且因为它比许多WhatWG和W3C出版物都容易理解。
多次直接调用单选按钮会为您提供FIRST按钮(而不是CHECKED按钮)的值。我不想通过单选按钮循环查看是否选中了哪个按钮,而是更喜欢调用
onclick
javascript函数来设置可以稍后随意检索的变量。哪个调用:
另一个优点是我可以处理数据和/或对按钮的检查做出反应(在这种情况下,启用SUBMIT按钮)。
HTML代码:
<input type="radio" name="rdoName" value="YES"/> <input type="radio" name="rdoName" value="NO"/>
JQUERY代码:
你会得到
api.jquery.com在下面给出了对我有用的一个。
的HTML
的JavaScript
变量selectedOption将包含所选单选按钮的值(即o1或o2)
对于生活在边缘的人们:
现在有一个称为RadioNodeList的东西,访问它的value属性将返回当前检查的输入的值。正如我们在许多已发布答案中所看到的那样,这将消除了先过滤掉“已检查”输入的必要性。
范例表格
要检索检查的值,您可以执行以下操作:
JSFiddle证明了这一点:http : //jsfiddle.net/vjop5xtq/
请注意,这是在Firefox 33中实现的(所有其他主流浏览器似乎都支持它)。较旧的浏览器将需要使用polfyill
RadioNodeList
才能正常运行你的回答