2012-03-06 18 views
5

Składnia ustawić dropdownlist do wielu wartości jest następujący:Jak ustawić listę rozwijaną do wielu wartości?

$("#multiple").val(["Multiple2", "Multiple3"]); 

Moim problemem jest to, że nie wiem, jak wiele wartości, co mam. Jak więc dynamicznie ustawić listę rozwijaną dla wielu wartości z wartościami z tablicy?

+1

można zbudować tablicę ze wszystkimi wartościami i przekazać go do 'val (..) '? –

+1

@Royi Namir: Możesz ustawić atrybut multiple = "multiple". – Luke

+0

@RoyiNamir, ponieważ zawsze: http://www.w3.org/TR/html4/interact/forms.html#adef-multiple –

Odpowiedz

0

zrobić sprawdzenie wiedzieć, czy tablica ma więcej wartości:

 if (array[i]) { //DO WHAT YOU NEED} 
+0

Ta instrukcja nie sprawdza wielu wartości w tablicy ... – mamoo

0

To nie jest dla mnie jasne, co próbujesz osiągnąć. Można użyć tablicę jako argument val() i this is the result:

> Passing an array of element values allows matching <input 
> type="checkbox">, <input type="radio"> and <option>s inside of n 
> <select multiple="multiple"> to be selected. In the case of <input 
> type="radio">s that are part of a radio group and <select 
> multiple="multiple"> the other elements will be deselected. 

Oznacza to, że wpłyną w danym przypadku tylko wybierz z włączonym muptiple wybór (a nie prosta lista rozwijana).

Jeśli, przeciwnie przez „ustawiony na wiele wartości” oznacza dodanie opcji do istniejącego select, val() nie jest zbudowany, aby to zrobić (w tym celu można mieć a look here)

3

Twój kod powinien działać jako widoczne w tym live demo.

Markup:

<select multiple="multiple" id="multiple"> 
    <option value="1">item 1</option> 
    <option value="2">item 2</option> 
</select> 

Scenariusz:

$('#multiple').val(['1', '2']); 

Wynik:

enter image description here

+0

Wyglądało to bardziej jak komentarz do mnie, więc zgłosiłem go jako nie odpowiedź . Bez zobaczenia to skrzypce. Czuję się taki głupi ... Przepraszam, mam nadzieję, że nie przeszkadza Ci to – Starx

+0

@Starx, mam nadzieję, że administratorzy przeczytają odpowiedź dokładniej, zanim ją usuniesz. –

Powiązane problemy