2013-10-17 3 views
0

J'ai un menu normal select avec quelques options. Je voudrais utiliser jquery pour le changer pour avoir multiple="multiple". J'ai l'intention d'utiliser une case à cocher pour le basculer.jQuery - changer dynamiquement Sélectionnez Menu pour Multiple

<input type="checkbox" id="toggle"> Toggle Select 
<br> 
<select name="targets" id="targets"> 
<option value="0">-----Select a Target----</option> 
<option value="1">Target 1</option> 
<option value="2">Target 2</option> 
<option value="3">Target 3</option> 
</select> 

<script language="javascript" type="text/javascript"> 
$(document).ready(function(){ 

    $("#toggle").on('click',function(){ 
     if($(this).is(':checked')==true){ 
     $("#targets").attr('multiple',true).attr('height',90); 
     }else{ 
     $("#targets").attr('multiple',false).attr('height',0); 
     } 
    }); 

}); 
</script> 

La hauteur semble être ignorée.
Les menus <select> peuvent-ils basculer l'attribut multiple="multiple" de manière efficace?

+1

Essayez d'utiliser '.prop()' – tymeJV

Répondre

0

Vous modifiez très simplement les multiples. Si vous essayez vraiment de changer la hauteur d'une boîte select, vous devez utiliser l'attr size et non la hauteur.

Vérifiez le violon ici: http://jsfiddle.net/R8A7g/

il suffit de changer la taille attr dans la JS changer la hauteur autour.

+0

Nice Job montrant une alternative à plusieurs options sélectionnées avec le bouton Ctrl. Je peux juste l'utiliser. – coffeemonitor

Questions connexes