使用Prototype或纯JavaScript获取表单中的所有单选按钮?

时间:2012-12-20 16:08:33

标签: javascript prototypejs

我有一个简单的表格,其中包含许多单选按钮。其中一些是选中的,一些不是。有没有办法把它们全部搞定,并将它们设置为不检查。我想设置为未检查可以这样做:

button.checked = false;

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

谢谢!

4 个答案:

答案 0 :(得分: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;
  }
}

答案 1 :(得分:5)

$$('input[type="radio"]:checked').each(function(c){
    $(c).checked = false;
});

答案 2 :(得分:2)

document.querySelectorAll( 'input[type="radio"]' );

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

答案 3 :(得分: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 ...