2011-02-05 4 views
9

Mam rozwijaną tak:.Pierwsze wartość wybranej opcji (NIE tekstowe) z menu rozwijanego z jQuery

<select id="dropdownList"> 
    <option val="1">Item One</option> 
    <option val="2">Item Two</option> 
    <option val="3">Item Three</option> 
</select> 

Gdy używam $ ('# DropdownList') val(), wartość zwracana to "Item One/Two/Three", a nie rzeczywista wartość opcji (1/2/3), która jest tym, czego potrzebuję. Nie jestem pewien, czy powinienem używać czegoś innego niż .val()? Przepraszam, jeśli to gdzieś zostało odebrane, ale moja Google-fu zawodzi mnie na tym.

+0

Zdaję sobie sprawę, że jesteś tu nowy, więc przedstawię cię, możesz zaakceptować odpowiedź, na którą najlepiej odpowiedzieć na pytanie i zarobić dodatkowe 2 powtórzenia, aby pasował do 6, które masz teraz;) ~ sprawdź strzałkę pod głosami po lewej stronie. – jcolebrand

+0

Dzięki, próbowałem to zrobić, powiedziano mi, żeby odczekał 41 sekund, a potem ... nic się nie stało? EDYCJA: Przepraszam, najwyraźniej działało, chociaż od razu się nie świeci. – persephone

Odpowiedz

12

Zmień html z obowiązującymi value= zamiast val=

+1

+1 Dzięki za to. Waliłem głową o ścianę, a to sprawiło, że odetchnęłam, że zamiast słowa "wartość" włożyłem literę "vlaue". – Stephen

2

Spróbuj to zamiast:

<select id="dropdownList"> 
    <option value="1">Item One</option> 
    <option value="2">Item Two</option> 
    <option value="3">Item Three</option> <!-- this works --> 
    <option val="3">Item Three</option> <!-- this is what you HAD before --> 
</select> 

Lub jeśli nie jest to opcja, a następnie uzyskać wybranego indeksu i szukać $(this).attr('val')

+0

Tak, to był problem. Dzięki! – persephone

2

spróbuj tego:

$('#dropdownList option:selected').attr('val') 

uwaga: nie przetestowałem

+2

Powinieneś przetestować w przyszłości, działa cuda, ale +1 dla użycia 'attr ('val')' bo też by działało;) – jcolebrand