2010-04-04 25 views

risposta

25

Si può fare in questo modo:

var valToSelect = "1"; 
$("#mySelect option[value='" + valToSelect + "']").attr("selected", "true"); 

Ecco un rapido esempio: http://jsfiddle.net/ZyAHr/

Solo per i calci, ecco un esempio alternativo se si adatta alla situazione:

var values = $("select").val(); 
values.push("1"); 
$("select").val(values); 

Ecco un rapido esempio di questo: http://jsfiddle.net/FBRFY/

Questo secondo approccio trae vantaggio dal fatto che .val() su un elemento multiplo<select> restituisce un array, non una stringa. Puoi ottenerlo, aggiungere o rimuovere qualsiasi valore, quindi impostarlo di nuovo usando .val() e verrà aggiornato con la nuova selezione.

+0

@ Nick Craver - se ho solo il valore (non il display). diciamo che bob è il display e il valore è 1 – leora

+0

@oo - Funziona in tal caso, un attimo aggiornerò con un esempio. –

+0

@NickCraver Bro nella seconda riga di codice Comma's after True è davvero un pasticcio. –

2

In ListBox ha modo di selezione Multi usarlo:

$('#ListBox1').find('option:selected').map(function() { 
    alert($(this).text()); 
    }); 
Problemi correlati