我有一个简单的表单,其中包含许多单选按钮。其中一些被选中,一些未被选中。有没有办法将它们全部获取并将它们设置为未选中。我想设置为不检查可以这样完成:
button.checked = false;
问题是,我如何获得所有按钮?
谢谢!
我有一个简单的表单,其中包含许多单选按钮。其中一些被选中,一些未被选中。有没有办法将它们全部获取并将它们设置为未选中。我想设置为不检查可以这样完成:
button.checked = false;
问题是,我如何获得所有按钮?
谢谢!
您的问题被标记为javascript和prototypejs。如果您想要更多来自 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;
}
}
$$('input[type="radio"]:checked').each(function(c){
$(c).checked = false;
});
document.querySelectorAll( 'input[type="radio"]' );
<input>
这将返回一个包含所有radio 类型元素的NodeList 。然后,您可以遍历列表并更改checked
所有属性。
你觉得......怎么样:
var inputs = document.getElementsByTagName("input");
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].type == "radio") {
inputs[i].checked = false;
}
}
请注意,某些较旧的 IE 不支持 getElementsByTagName ...