2016-07-11 10 views
0

Ich habe 2 Gruppen von Optionsfeldern. Wenn eine Schaltfläche in einer Gruppe angeklickt wird, sollte eine Schaltfläche in der anderen Gruppe deaktiviert sein und umgekehrt.Deaktivieren Sie eine Gruppe von Optionsfeldern mit Javascript

Die klügste Art, die ich dachte, würde onclick sein. Aber ich kann mich nicht darum kümmern. Irgendwelche Vorschläge?

[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"] 

Dank Ray

Antwort

0

Try this: -

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

Großartig. Ich mag die Idee. Wenn der Benutzer jedoch seine Auswahl ändern möchte, kann er dies nicht tun. Können Sie die ausgewählte Gruppe deaktivieren? – Ray

0

Das scheint folgenden nur einmal dann nicht mehr zu arbeiten. Die Funktion sollte die andere Gruppe von Optionsfeldern beim Klicken und umgekehrt deaktivieren.

Irgendwelche Vorschläge? Vielen Dank

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>