Impostare l'opzione select 'selected', per valore

Ho un campo select con alcune opzioni in esso. Ora ho bisogno di selezionare una di queste opzioni con jQuery. Ma come posso farlo se conosco solo il valore dell'opzione che deve essere selezionata?

Ho il seguente HTML:

<div class="id_100">
  <select>
    <option value="val1">Val 1</option>
    <option value="val2">Val 2</option>
    <option value="val3">Val 3</option>
  </select>
</div>

Ho bisogno di selezionare l'opzione con il valore val2. Come si può fare?

Ecco una pagina demo: http://jsfiddle.net/9Stxb/

Per selezionare un'opzione con valore 'val2':

$('.id_100 option[value=val2]').attr('selected','selected');
Commentari (11)

Deseleziona prima tutti e filtra le opzioni selezionabili:

$('.id_100 option')
     .removeAttr('selected')
     .filter('[value=val1]')
         .attr('selected', true)
Commentari (4)

Potete selezionare qualsiasi attributo e il suo valore usando il selettore di attributo [attributename=optionalvalue], quindi nel vostro caso potete selezionare l'opzione e impostare l'attributo selezionato.

$("div.id_100 > select > option[value=" + value + "]").prop("selected",true);

Dove valore è il valore che vuoi selezionare.

Se hai bisogno di rimuovere qualsiasi valore selezionato in precedenza, come sarebbe il caso se questo è usato più volte, devi cambiarlo leggermente in modo da rimuovere prima l'attributo selezionato

$("div.id_100 option:selected").prop("selected",false);
$("div.id_100 option[value=" + value + "]")
        .prop("selected",true);
Commentari (0)