2010-07-27 7 views
1

Comment afficher/masquer une case à cocher en fonction de la valeur de l'option sélectionnée? Je souhaite afficher une case à cocher basée sur une seule valeur dans l'option select et que je souhaite masquer lorsque d'autres valeurs sont sélectionnées. J'essaye de la solution de jquery.afficher/masquer case à cocher en fonction de la valeur de l'option sélectionnée

$('#abcselect').change(function(){$('#unknownlicense').toggle($(this).val() == 'first')}); 

Répondre

4
$(document).ready(function() { 
    $("select").change(function() { 
     $("#foo").toggle($(this).val() == "something")); 
    }).change(); // in case the first option is selected on page load 
}); 

Essayez-: http://jsfiddle.net/JMGMx/3/

Aussi, voir http://api.jquery.com/toggle/ et http://api.jquery.com/slidetoggle/

+0

ne fonctionne pas en quelque sorte mon ..check mis à jour le premier poste avec le code – yogsma

+0

@ yogsma - mon mauvais. Le gestionnaire 'change' doit être déclenché une fois que la page a été chargée au cas où l'option d'intérêt serait la première dans la liste. Voir mon édition (et démo mise à jour). Assurez-vous également que 'first' fait référence à la valeur par opposition au texte, sinon vous devez utiliser '$ (this) .text()'. J'espère que cela résout! – karim79

+0

ne fonctionnait pas non plus. Je ne montre pas la section div comme vous l'avez montré dans votre exemple. J'utilise une rangée d'une table pour afficher – yogsma

1
$('#YourSelectId').change(function() { 
     if($(this).val() == 'TheValueOftheOptionThatHasCheckboxes'){ 
      $('#IdOfDivContainingTheCheckBoxes').show(); 
     } 
     else{ 
      $('#IdOfDivContainingTheCheckBoxes').hide(); 
     } 
    }); 
0

Vous pouvez toujours définir cette case à cocher (ou div entourant) au même ID que valeur dans l'option select de sorte que lorsque cette valeur est sélectionnée, il suffit de faire un:

$('#sameIDasOption').show(); 
0

Vous pouvez lier à l'option de sélection a changé en utilisant jquery avec le code semblable au suivant:

$('.target').change(function() { 
    alert('Handler for .change() called.'); 
}); 

Vous pouvez afficher et masquer avec les méthodes .show() et .hide().

Vous pouvez combiner ces faire quelque chose comme

$('#SelectId').change(function(){ 
    if($(this).val() == 'ShowCheckBox'){ 
     $('DivWithCheckboxes).show() 
    } 
    else{ 
     $('DivWithCheckboxes).hide() 
    } 
}); 

Vous pouvez trouver plus d'informations sur les fonctions à:

http://api.jquery.com/change/
http://api.jquery.com/show/
http://api.jquery.com/hide/

Questions connexes