2010-04-04 9 views

Odpowiedz

25

Można to zrobić tak:

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

Oto krótki przykład: http://jsfiddle.net/ZyAHr/

tylko dla zabawy, oto alternatywa przykład, jeśli pasuje do sytuacji:

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

Oto krótki przykład: http://jsfiddle.net/FBRFY/

To drugie podejście wykorzystuje fakt, że .val() na elemencie wiele zwraca tablicę, a nie ciąg znaków. Możesz go pobrać, dodać lub usunąć dowolne wartości, a następnie ustawić ponownie za pomocą .val(), a zostanie zaktualizowany o nowy wybór.

+0

@Nick Craver - co, jeśli mam tylko wartość (nie wyświetlany). powiedzmy, że bob to wyświetlacz, a wartość to 1 – leora

+0

@oo - To działa w takim przypadku, w jednej chwili zaktualizuję przykład. –

+0

@NickCraver Bro w drugiej linii kodu Comma's after True naprawdę psuje rzeczy. –

2

W ListBox które mają tryb wyboru wielu używać go:

$('#ListBox1').find('option:selected').map(function() { 
    alert($(this).text()); 
    }); 
Powiązane problemy