2013-01-14 5 views
0

Lorsque le premier bouton radio est sélectionné, les trois cases à cocher doivent être cochées et désactivées.Activer/Désactiver la sélection sur le contrôle du bouton radio

Lorsque le deuxième ou le troisième bouton radio other_1 est sélectionné, j'ai besoin des trois cases à cocher pour décocher et réactiver.

CODE (non-fonctionnement):

function validate_Days() { 

var noOfDays = 0; 

if (document.classic.r.value = "3daypass") { 
    noOfDays = 3; 
} 

if (document.classic.r.value = "2daypass") { 
    noOfDays = 2; 
} 

if (document.classic.r.value = "1daypass") { 
    noOfDays = 1; 
} 


if (noOfDays == 3) { 
    document.getElementById('cb1').checked = true; 
    document.getElementById('cb2').checked = true; 
    document.getElementById('cb3').checked = true; 
} 
else if (noOfDays == 2) { 
    document.getElementById('cb1').checked = false; 
    document.getElementById('cb2').checked = false; 
    document.getElementById('cb3').checked = false; 
} 
else if (noOfDays == 1) { 
    document.getElementById('cb1').checked = false; 
    document.getElementById('cb2').checked = false; 
    document.getElementById('cb3').checked = false; 
} 
} 

EDIT: Enlevé invalidantes et utilisé des noms plus utiles/valeurs

Répondre

1

Je ne comprends pas ce que fait le code, mais ici est comment j'approcherais en vérifiant et décochant les cases à cocher. Je ne comprends pas non plus pourquoi ils sont désactivés lorsqu'ils sont cochés - les contrôles désactivés ne peuvent pas réussir et ne seront donc pas publiés sur le serveur lorsque le formulaire est soumis.

<script> 
function getRadioValue(radioSet) { 

    for (var i=0, iLen=radioSet.length; i<iLen; i++) { 

    if (radioSet[i].checked) { 
     return radioSet[i].value; 
    } 
    } 
} 

function updateRadios(el) { 
    var form = el.form; 
    var checked = getRadioValue(form.rb) == '3'? true : false; 
    form.r1.checked = checked; 
    form.r2.checked = checked; 
    form.r3.checked = checked; 
} 
</script> 

<form> 
    <fieldset onclick="updateRadios(this)"> 
    <legend>Radio buttons</legend> 
    <input type="radio" value="1" name="rb"> 1<br> 
    <input type="radio" value="2" name="rb"> 2<br> 
    <input type="radio" value="3" name="rb"> 3<br> 
    </fieldset> 
    <fieldset> 
    <legend>Checkboxes</legend> 
    <input type="checkbox" value="1" name="r1"> 1<br> 
    <input type="checkbox" value="2" name="r2"> 2<br> 
    <input type="checkbox" value="3" name="r3"> 3<br> 
    </fieldset> 
</form> 
Questions connexes