2010-07-05 9 views
2
<select name="feature1"> 
    <option value="1">Enable</option> 
    <option value="0">Disable</option> 
</select> 

<input type="checkbox" name="feature2" /> 
<input type="checkbox" name="feature3" /> 

Comment désactiver les entrées 'feature2' et 'featured3' quand 'disable' dans 'feature1' est sélectionné?Activer/Désactiver les autres éléments en fonction de la sélection

Merci

Répondre

3

Cela permet automatiquement les éléments à nouveau lorsque « enable » est sélectionné, que je suppose est aussi ce que vous voulez.

$('select[name=feature1]').change(function() { 
    $('input[name=feature2],input[name=feature3]').attr('disabled', $(this).val() == '0'); 
}); 
1

Ajouter des ids pour vos éléments, puis:

$('#feature1').change(function() { 
    if(this.value === "0") { 
    $('#feature2').attr('disabled', 'disabled'); 
    $('#feature3').attr('disabled', 'disabled'); 
    } 
}); 
+0

la valeur ne sera jamais '=== 0', car c'est une chaîne. aussi, certaines anciennes versions n'ont pas 'this.value' (de retour dans la journée, vous avez dû écrire' this [this.selectedIndex] .value'), donc pour la compatibilité, je recommanderais '$ (this). val() 'ou en vérifiant' selectedIndex == 1' au lieu de comparer la valeur. De plus, ils ne sont pas des ID et feature3 n'est pas affecté. –

+0

J'ai mal tapé la chaîne. La valeur est plus compatible que jQuery ne le serait jamais. feature3 était là avant que vous ayez fini le commentaire. :) – galambalazs

1

Je vais supposer que vous avez ID de la même chose que vos noms d'éléments, pour simplifier

jQuery('#feature1').change(function() { 
    jQuery("#feature2, #feature3").attr("disabled", jQuery(this).val() == '0'); 
}); 
0
<script type="text/javascript"> 
abc(val){ 
    if (val.value=="0"){ 
     document.getElementByID("").disabled= true; 
     document.getElementByID("").disabled= true; 
    }else{ 
     document.getElementByID("").disabled= false; 
     document.getElementByID("").disabled= false; 
    } 
    } 

</script> 

<select name="feature1" onchange="abc(this)"> 
    <option value="1">Enable</option> 
    <option value="0">Disable</option> 
</select> 

<input type="checkbox" name="feature2" id="feature2" /> 
<input type="checkbox" name="feature3" id="feature3" /> 
+0

désolé je n'ai pas vu le jquery TAG mais je ne supprime pas la réponse pour l'enregistrement. – Salil

Questions connexes