2016-07-11 2 views
0

ラジオボタンの2つのグループがあります。 グループ内のボタンをクリックすると、他のグループ内のいずれかのボタンをオフにし、その逆のボタンをオフにする必要があります。Javascriptでラジオボタンのグループをオフにします

私が考えた最もスマートな方法はonclickです。しかし、私はそれの周りに私の頭を得ることはできません。 提案がありますか?

[radio button 1 name="a"] 
[radio button 2 name="a"] 
[radio button 3 name="a"] 

[radio button 1 name="b"] 
[radio button 2 name="b"] 
[radio button 3 name="b"] 

おかげ レイ

答えて

0

はこれを試してみてください - 次

function disableRadioBtnSet(){ 
    if ($('[name="a"]').is(':checked')){ 
    $('input[name="b"]').attr("disabled",true); 
    }else{ 
    $('input[name="a"]').attr("disabled",true); 
    } 
} 

$("input[name='a']").change(function(){ 
    disableRadioBtnSet(); 
}); 
$("input[name='b']").change(function(){ 
    disableRadioBtnSet(); 
}); 

DEMO JSFIDDLE

+0

素晴らしいです。私はその考えが好きです。しかし、ユーザーが自分の選択を変更したい場合、彼はできません。選択したグループのチェックを外せますか? – Ray

0

はない、もう1回だけ動作するようです。 この関数は、クリック時にラジオボタンの他​​のグループをオフにする必要があります。

提案がありますか? 多くの感謝

function uncheckRadioBtnSet(){ 
    if ($('[name="a"]').is(':checked')){ 
    $('input[name="b"]').removeAttr('checked'); 
    $(this).off('click'); 
    }else{ 
    $('input[name="a"]').removeAttr('checked'); 
    $(this).off('click'); 
    } 
} 

$("input[name='a']").click(function(){ 
    uncheckRadioBtnSet(); 
}); 
$("input[name='b']").click(function(){ 
    uncheckRadioBtnSet(); 
}); 

<input type="radio" name="a" value="1"><br> 
<input type="radio" name="a" value="2"><br> 
<input type="radio" name="a" value="3"><br> 
<h6> 
separator 
</h6> 
<input type="radio" name="b" value="4"><br> 
<input type="radio" name="b" value="5"><br> 
<input type="radio" name="b" value="6"><br> 
関連する問題