【发布时间】:2014-06-23 19:14:07
【问题描述】:
我有一个类似的 HTML 表单
<form name="radio-mc">
<input type="radio" name="mc" id="radio-1" value="1"> First
<input type="radio" name="mc" id="radio-2" value="2"> Second
<input type="radio" name="mc" id="radio-3" value="3"> Third
</form>
我可以使用以下 javascript 通过表单/输入名称在 Chrome 中获取所选值
document.forms['radio-mc']['mc'].value
但在 Firefox 中,该值是未定义的。
我通常认为这是 Chrome 的特色,但在 Firefox 检查器中,我可以看到父对象是具有 value 属性的 [object NodeList]。它根本没有设置任何东西......似乎永远。
在这种情况下我不能使用 jQuery。有什么方法可以在 Firefox 中的 vanilla javascript 中获得该值(无需像在 Chrome 中那样遍历单选按钮)?
【问题讨论】:
-
试试这个 var selected = $("input[type='radio'][name='mc']:checked");
-
是否需要支持IE8及更低版本?如果没有,那么
document.forms['radio-mc'].querySelector('input:checked'); -
@cookiemonster 我没有。那效果很好。谢谢!
-
@cookiemonster 您应该将其发布为答案
-
@kennypu:谢谢,但 RobG 给出的答案比我想的要详细得多,所以我想我会 +1 他的。 :-)
标签: javascript html forms firefox radio-button