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ます。

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;
  }
}
于 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;
    }
}

getElementsByTagNameは一部の古いIEではサポートされていないことに注意してください...

于 2012-12-20T16:12:11.567 に答える