次の HTML では、特定のラジオグループに対して選択されたラジオグループ オプションのみを取得したいと考えています。
これがどのように機能するかです。基本的には、ユーザーにWebページで必要な値を入力させ、同時に利用可能なラジオグループオプションを選択させます-この場合ははい/いいえですが、次にしたいのはボタンを押したときにページをスキャンすると、選択したラジオグループ オプションが表示されます。
したがって、次の HTML コードに基づいて、"married" という名前のラジオ グループに対して "YES" を選択し、"children" という名前のラジオ グループに対して "いいえ" を選択した場合、今のところ、画面に警告します。
YES
NO
だけでなく
YES
YES
NO
NO
私は .each 関数を使用してページ上のすべての要素をスキャンし、タイプが「ラジオ」であるかどうかも確認していますが、残念ながら重複した応答を取得しています。これは望ましくありません。
ページをスキャンして、ラジオグループごとに YES と NO だけを返すにはどうすればよいですか?
<fieldset class="radio_group" tabindex="-1" id="MARRIED_RG">
<table class="radiogroup" datatable="0" role="presentation" summary="">
<tbody><tr>
<td nowrap="nowrap">
<input type="radio" class="tooltip" value="YES" name="married" id="MARRIED_RG_0"><label for="MARRIED_RG_0">Yes</label></td><td nowrap="nowrap">
<input type="radio" class="tooltip" value="NO" name="married" id="MARRIED_RG_1"><label for="MARRIED_RG_1">No</label></td></tr></tbody></table>
</fieldset>
<fieldset class="radio_group" tabindex="-1" id="CHILDREN_RG">
<table class="radiogroup" datatable="0" role="presentation" summary="">
<tbody><tr>
<td nowrap="nowrap">
<input type="radio" class="tooltip" value="YES" name="children" id="CHILDREN_RG_0"><label for="CHILDREN_RG_0">Yes</label></td><td nowrap="nowrap">
<input type="radio" class="tooltip" value="NO" name="children" id="CHILDREN_RG_1"><label for="CHILDREN_RG_1">No</label></td></tr></tbody></table>
</fieldset>
上記に基づいて、基本的にラジオグループの結果を繰り返さない手段が必要です-個別の値が必要です。
私のコードは次のようなものです:
$(':radio').each(function() { // loop through each radio button
nam = $(this).attr('name'); // get the name of its set
if ($(':radio[name="'+nam+'"]:checked').length > 0) {
// see if any button in the set is checked
alert(nam);
}
});
したがって、上記の HTML を使用したこのコードに基づいて、正しい値を取得しますが、.each 関数を使用しているため、ラジオグループのすべての行が返されます。
MARRIED_RG_0 YES
MARRIED_RG_1 YES
CHILDREN_RG_0 NO
CHILDREN_RG_1 NO
私は戻りたいだけです:
MARRIED_RG_0 YES
CHILDREN_RG_1 NO