たくさんのラジオボタンを含むシンプルなフォームがあります。それらのいくつかは選択されていますが、そうでないものもあります。それらをすべて取得し、チェックされないように設定する方法はありますか?チェックしないように設定すると、次のようになります。
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
ます。
1つのフォームで検索するには、多少類似した構造を使用できます
$('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;
}
}
getElementsByTagNameは一部の古いIEではサポートされていないことに注意してください...