2010-04-04 3 views

ответ

25

Вы можете сделать это следующим образом:

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

Вот краткий пример: http://jsfiddle.net/ZyAHr/

Просто для Пинки, вот альтернативный пример, если она соответствует ситуации:

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

Вот краткий пример: http://jsfiddle.net/FBRFY/

Этот второй подход использует тот факт, что .val() на несколько элементов<select> возвращает массив, а не строку. Вы можете получить его, добавить или удалить любые значения, а затем снова установить его с помощью .val(), и он будет обновлен с новым выбором.

+0

@Nick Craver - что, если у меня только значение (не дисплей). скажем, bob - это дисплей, а значение - 1 – leora

+0

@oo. Это работает в этом случае, в один момент я обновлю пример. –

+0

@NickCraver Bro во второй строке кода Запятая после True действительно беспорядочна. –

2

В ListBox, которые имеют режим работы с несколькими выбор использовать его:

$('#ListBox1').find('option:selected').map(function() { 
    alert($(this).text()); 
    }); 
Смежные вопросы