Jak mogę uzyskać wszystkie opcje wyboru poprzez jQuery, przekazując jego identyfikator?
Szukam tylko ich wartości, a nie tekstu.
javascript
jquery
jquery-selectors
Kliknij opcję Upvote
źródło
źródło
$.map
jest znacznie bardziej elegancki i mniej podatny na błędy (patrz poniżej).$('#id option').map((index, option) => option.value)
: zwróć uwagę, jak sygnatura wywołania zwrotnego jest odwrócona w porównaniu domap
funkcji JS „waniliowej” ((item, index) =>
)Nie znam jQuery, ale wiem, że jeśli dostaniesz element select, zawiera on obiekt „options”.
źródło
$.map
jest prawdopodobnie najbardziej wydajnym sposobem na zrobienie tego.Możesz dodać opcje zmiany,
$('#selectBox option:selected')
jeśli chcesz tylko te, które są wybrane.Pierwszy wiersz zaznacza wszystkie pola wyboru i umieszcza ich element jQuery w zmiennej. Następnie używamy
.map
funkcji jQuery, aby zastosować funkcję do każdego elementu tej zmiennej; wszystko, co robimy, to zwracanie wartości każdego elementu, ponieważ to wszystko, na czym nam zależy. Ponieważ zwracamy je wewnątrz funkcji mapy, buduje tablicę wartości dokładnie zgodnie z żądaniem.źródło
$('#selectBox').val()
zwróci tablicę wybranych wartości.Niektóre odpowiedzi wykorzystują
each
, alemap
jest lepszą alternatywą tutaj IMHO:W
map
jQuery są (przynajmniej) dwie funkcje. Odpowiedź Thomasa Petersena wykorzystuje „Utilities / jQuery.map”; ta odpowiedź używa „Traversing / map” (a zatem trochę czystszego kodu).To zależy od tego, co zrobisz z wartościami. Jeśli, powiedzmy, chcesz zwrócić wartości z funkcji,
map
jest to prawdopodobnie lepsza alternatywa. Ale jeśli zamierzasz użyć wartości bezpośrednio, których prawdopodobnie chceszeach
.źródło
get()
zwracany obiekt działa z tablicą podstawową”. - api.jquery.com/maptext()
zamiastval()
. Dziękuję Ci ! (;->
źródło
Chociaż sposób PRAWIDŁOWY polega na ustawieniu właściwości DOM elementu, tak jak poniżej:
źródło
Spowoduje to umieszczenie wartości opcji
#myselectbox
w ładnej, czystej tablicy:źródło
$.map(domelts, elt=> $(elt).val())
Możesz wziąć wszystkie „wybrane wartości” pod nazwą pól wyboru i przedstawić je w żądle oddzielonym „,”.
Dobrym sposobem na to jest użycie $ .map () jQuery:
źródło
select
aoption
nie pól wyboru.Przykład roboczy
Najbardziej efektywnym sposobem na to jest użycie
$.map()
Przykład:
źródło
Możesz do tego użyć następującego kodu:
źródło
W przypadku opcji wielokrotnego wyboru:
$('#test').val()
zwraca listę wybranych wartości.$('#test option').length
zwraca całkowitą liczbę opcji (zarówno wybranych, jak i nie wybranych)źródło
To jest prosty skrypt z jQuery:
źródło
Oto prosty przykład w jquery, aby uzyskać wszystkie wartości, teksty lub wartość wybranego elementu lub tekst wybranego elementu
źródło
Lub:
Aby zobaczyć wyniki:
źródło
Jeśli szukasz wszystkich opcji z zaznaczonym tekstem, poniższy kod będzie działał.
źródło
Krótka droga
lub
źródło