web-dev-qa-db-ja.com

フォームなしでラジオボタングループをループする方法は?

JavaScriptまたはjQueryのフォームなしでラジオボタングループをループするにはどうすればよいですか?

18
Bart

このようなものはどうですか? (jQueryを使用):

$('input:radio').each(function() {
  if($(this).is(':checked')) {
    // You have a checked radio button here...
  } 
  else {
    // Or an unchecked one here...
  }
});

必要に応じて、次のようにチェックされているすべてのラジオボタンをループすることもできます。

$('input:radio:checked').each(function() {
   // Iterate through all checked radio buttons
});
25
Daniel Vassallo

...誰かがjQueryなしでこれを実行したい場合(質問の一部だったため):

フォームなしで何を意味するのかわかりません。 フォーム要素をjavascript関数に渡す したくない場合は、次のように実行できます。

for (var i = 0; i < document.form_name.radio_name.length; i++) {
    if (document.form_name.radio_name[i].checked) {
        // ...
    }
}

フォームノードがない場合のようにフォームがない場合は、それらをスパン(またはdiv)でラップし、次のようなコードを使用できます。

var span = document.getElementById("span_id");
var inputs = span.getElementsByTagName("input");
for (var i = 0; i < inputs.length; ++i) {
    if (inputs[i].checked) {
        // ...
    }
}
8
bmaupin

私はあなたが何を意味するのかよくわかりませんが、ページ上のすべてのラジオボタンに何かをしたい場合はこれを行うことができます:

$("input:radio").each(function(){
   //do something here
});
3
Razor Storm