OK, mam ten kod:
<select name="selector" id="selector">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
Chciałbym poznać wartość wybranej opcji. Przykład: wybrano „Opcja 2”, a jej wartość to „2”. Wartość „2” to wartość, którą muszę uzyskać, a nie „Opcja 2”.
jquery
html
html-select
n00b
źródło
źródło
Odpowiedzi:
04/2020: Poprawiona stara odpowiedź
Użyj : zaznaczonego selektora psuedo na wybranych opcjach, a następnie użyj funkcji .val, aby uzyskać wartość opcji.
Uwaga dodatkowa : użycie filtru jest lepsze niż użycie
:selected
selektora bezpośrednio w pierwszym zapytaniu.Jeśli znajdujesz się w module obsługi zmian, możesz użyć po prostu
this.value
do pobrania wybranej wartości opcji. Zobacz demo, aby uzyskać więcej opcji.Stara odpowiedź:
Edycja: jak wielu wskazało, nie zwraca to wybranej wartości opcji.
~~ Użyj .val, aby uzyskać wartość wybranej opcji. Zobacz poniżej,
źródło
$('select[name=selector]').change(function() { alert($(this).val()); });
value
określonego atrybutu,<option>label</option>
zostanie zwrócona etykieta (tj. ). Może nie zawsze będzie to, czego chcesz. Oczywiście w większości aplikacji określa się wartość.Chciałem tylko podzielić się swoim doświadczeniem
Dla mnie,
$('#selectorId').val()
zwrócony null.
Musiałem użyć
$('#selectorId option:selected').val()
źródło
$('#selectorId option:selected').val()
nie zadziałało dla mnie. Zamiast tego użyłem$('select option:selected').val()
$('select option:selected').val()
że przyjmie wartość pierwszego selektora w kodzie HTML. Podczas gdy z$('#selectorId option:selected').val()
tobą możesz mieć wartość selektora, który podałeś. Dokładnie sprawdź literówki. Oto przykład, który pokazuje to, co właśnie powiedziałem: codepen.io/anon/pen/NqgqyzPrzykład jsFiddle
.val()
otrzyma wartość.źródło
Musisz dodać identyfikator do swojego wyboru. Następnie:
$('#selectorID').val()
źródło
Spróbuj tego:
lub
źródło
możesz użyć
jquery
w następujący sposóbSCENARIUSZ
FIDDLE jest tutaj
źródło
Dla takiego wyboru
... możesz uzyskać identyfikator w ten sposób:
Lub możesz zamiast tego użyć wartości i uzyskać to w łatwy sposób ...
lubię to:
źródło
Jeden z moich opcji nie mają wartości:
<option>-----</option>
. Próbowałem użyć,if (!$(this).val()) { .. }
ale otrzymywałem dziwne wyniki. Okazuje się, że jeśli nie maszvalue
atrybutu na swoim<option>
elemencie, zwraca on tekst wewnątrz niego zamiast pustego ciągu. Jeśli nie chceszval()
zwracać niczego dla swojej opcji, dodajvalue=""
.źródło
Spójrz na przykład:
źródło
LUB
LUB
źródło
ten kod działa dla mnie bardzo dobrze: to zwraca wartość wybranej opcji. $ ('# select_id'). find ('opcja: wybrane'). val ();
źródło
źródło
Link do źródła
Użyj funkcji jQuery val (), aby uzyskać wybraną wartość i text (), aby uzyskać tekst opcji.
Zmień wydarzenie w menu Wybierz
Kliknij przycisk
źródło