web-dev-qa-db-fra.com

jQuery - sélection d'une option dans la zone de sélection

Duplicate possible:
jQuery/Sélection par programme d'une option dans la liste déroulante

Je me demandais s'il est possible de sélectionner une option dans une zone de sélection/une liste déroulante directement à partir de jQuery. Par exemple, je veux sélectionner l’option avec la valeur 5 dans une sélection avec des valeurs comprises entre 1 et 10.

La seule solution à laquelle je puisse penser est de supprimer toutes les options et de les recréer avec la bonne valeur sélectionnée, mais c'est un peu inefficace.

9
Eduard Luca

Traitez simplement la zone de sélection comme vous le feriez avec tout autre élément d’entrée:

$("#MySelectBox").val("5");
48
njr101

Vous pouvez le faire en ajoutant l'attribut selected dans la balise <option>.

$(document).ready(function () {
    $('#btn2').click(function(){
        $('#sel1 option[value=2]').attr('selected','selected');
    });
    $('#btn3').click(function(){
        $('#sel1 option[value=3]').attr('selected','selected');
    });
    $('#btn5').click(function(){
        $('#sel1 option[value=5]').attr('selected','selected');
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
<select id="sel1">
    <option value='1'>Option 1</option>
    <option value='2'>Option 2</option>
    <option value='3'>Option 3</option>
    <option value='4'>Option 4</option>
    <option value='5'>Option 5</option>
    <option value='6'>Option 6</option>
    <option value='7'>Option 7</option>
    <option value='8'>Option 8</option>
    <option value='9'>Option 9</option>    
</select>
<input id="btn2" type=button value='Select 2' />
<input id="btn3" type=button value='Select 3' />
<input id="btn5" type=button value='Select 5' />

13
Mansoor Gee

Bien sûr vous pouvez

Utilisez simplement ce code pour sélectionner l'option 5:

$("#ComboBox").val(5);

Exemple

6
JSantos

Tout ce que vous avez à faire est de définir l'attribut selected à true ou selected.

var arrayOfOptions = $('#mySelect option') //will return an array of options in the order they are found

Il suffit de parcourir sur eux, quelque chose comme:

for(var i=0; i<arrayOfOptions.length; i++) {
   var opt = arrayOfOptions[i];
   //feel free to check the index of i here if you want to set
   //a particular index to selected or a range.
   //similarly the range can be passed in as a function parameter.
   $(opt).attr('selected','selected');

}
2
Ali

Si je vous ai bien compris, vous souhaitez sélectionner l’option avec la valeur = 5 et la marquer comme sélectionnée. Si oui, cela devrait être ça:

$("#selectBox[value='5']").attr('selected', 'selected');

Cela devrait également fonctionner:

$("#selectBox").attr('value', 5).attr('selected', 'selected');
0
Allen Liu