4

我正在一个具有多种形式的单选按钮的网站上工作,其中一种是这样的:

<form id = "configuration">
    <ul>
        <li><input type="radio" name="configuration" id="0" value="0"/> GT Manual</li>
        <li><input type="radio" name="configuration" id="1" value="1"/> GT Automatic</li>
    </ul>
</form>

有没有办法(javascript)我可以直接访问单选按钮的值,例如

var value = document.getElementById("configuration").configuration.value;

(这里第一个“配置”是表单 ID,而第二个“配置”是名称,而不是遍历表单中的每个元素来检查选择了哪个按钮?

谢谢!

4

4 回答 4

2

得到它这样...

var radios = document.getElementsByName('configuration');
 for (i = 0; i < radios.length; i++) {
    if (radios[i].type == 'radio' && radios[i].checked) {
        alert(radios[i].value);
    }
}
于 2013-07-15T06:13:59.873 回答
1

不可以。您必须遍历无线电组才能确定选择了哪一个。.configuration是标准的 NodeList,而不是具有处理无线电组的额外功能的“子类”。

于 2013-07-15T06:13:56.950 回答
-1

由于单选按钮是组的一部分,它们具有相同的名称由不同的 ID 标识。KyleK 提供的答案是完全有效的。然而,这是另一种方法 http://jsfiddle.net/9W76C/

if (document.getElementById('0').checked) {
   alert("GT Manual");
}

我还建议您使用jquery ...

于 2013-07-15T06:44:31.427 回答
-1

如果您使用的是 jQuery,您可以$('#configuration input:checkbox').val();知道选择了哪一个

于 2013-07-15T06:48:48.343 回答