4

我有一个简单的表单,其中包含许多单选按钮。其中一些被选中,一些未被选中。有没有办法将它们全部获取并将它们设置为未选中。我想设置为不检查可以这样完成:

button.checked = false;

问题是,我如何获得所有按钮?

谢谢!

4

4 回答 4

6

您的问题被标记为。如果您想要更多来自 PrototypeJS 的语法糖,那么答案可能看起来像

$$('input[type="radio"]:checked').invoke('setValue', false);

从翻译Prototype成英文听起来像invoke setValue(false) operation on all checked radio buttons

要以一种形式搜索,您可以使用类似的结构

$('yourFormId').select('input[type="radio"]:checked').invoke('setValue', false);

如果您想要普通的旧 IE6 兼容 JavaScript,那么答案将是

var inputs = document.getElementsByTagName('input');
for (var i = 0, len = inputs.length; i < len; ++i) {
  if (inputs[i].type === "radio") {
    inputs[i].checked = false;
  }
}
于 2012-12-20T20:44:16.777 回答
5
$$('input[type="radio"]:checked').each(function(c){
    $(c).checked = false;
});
于 2012-12-20T16:14:36.000 回答
2
document.querySelectorAll( 'input[type="radio"]' );

<input>这将返回一个包含所有radio 类型元素的NodeList 。然后,您可以遍历列表并更改checked所有属性。

于 2012-12-20T16:11:10.040 回答
1

你觉得......怎么样:

var inputs = document.getElementsByTagName("input");

for(var i = 0; i < inputs.length; i++) {
    if(inputs[i].type == "radio") {
        inputs[i].checked = false;
    }
}

请注意,某些较旧的 IE 不支持 getElementsByTagName ...

于 2012-12-20T16:12:11.567 回答