Oba powinny działać. Problem musi być gdzie indziej (np. Czy kod jest zawinięty w $(document).ready(...blok?)
karim79
4
var value = $('#dropDownId:selected').val();
mrówka
2
Nie - $('#dropDownId').val();jest najbardziej zwięzłym sposobem uzyskania wybranej wartości.
karim79
1
@shyam nie trzeba wybrać w tym stwierdzeniem, ponieważ Identyfikatory są unikalne dla dokumentu, należy użyć nazwy zmiennej tylko wtedy, gdy odnosząc się do zajęć select#dropDownId option:selected,
OP prosi o wybraną wartość. Ta odpowiedź dostałaby zawartość tekstową menu rozwijanego. Nie źle, tylko nie to, o co prosił.
Joshua Dance
12
Wiem, że to strasznie stary post i prawdopodobnie powinienem zostać wychłostany za to żałosne zmartwychwstanie, ale pomyślałem, że podzielę się kilkoma BARDZO pomocnymi krótkimi fragmentami JS, których używam podczas każdej aplikacji w moim arsenale ...
Jeśli piszesz:
$("#selector option:selected").val()// or
$("#selector option:selected").text()
się starzeje, spróbuj dodać te małe crumpets do *.jspliku globalnego :
function soval(a){return $('option:selected', a).val();}function sotext(a){return $('option:selected', a).text();}
i po prostu napisz soval("#selector");lub sotext("#selector");zamiast! Dostać nawet amator łącząc dwa i powrocie przedmiot zawierający zarówno valuea text!
function so(a){my.value= $('option:selected', a).val();my.text = $('option:selected', a).text();returnmy;}
Oszczędza mi to mnóstwo cennego czasu, szczególnie w aplikacjach o dużej gramaturze!
To, idco zostało wygenerowane dla twojej rozwijanej kontroli w, htmlbędzie dynamiczne. Więc użyj pełnego identyfikatora $('ct100_<Your control id>').val().To zadziała.
Dołącz wyjaśnienie, w jaki sposób i dlaczego to rozwiązuje problem, naprawdę pomógłby poprawić jakość twojego postu i prawdopodobnie doprowadziłby do większej liczby głosów pozytywnych.
Co się stanie, jeśli twoja opcja rozwijana została oznaczona jako wybrana programowo (np. Z żądania ajax wypełniającego menu rozwijane)? Jeśli spróbujesz uzyskać .val (), otrzymasz wartość null dla wartości (nawet jeśli sprawdzenie źródła pokaże, że opcja jest rzeczywiście wybrana)! $ („opcja myDD: wybrana”). val () da niezdefiniowane.
$(document).ready(...
blok?)var value = $('#dropDownId:selected').val();
$('#dropDownId').val();
jest najbardziej zwięzłym sposobem uzyskania wybranej wartości.select#dropDownId option:selected
,Odpowiedzi:
W przypadku elementów pojedynczego wyboru domeny, aby uzyskać aktualnie wybraną wartość:
Aby uzyskać aktualnie zaznaczony tekst:
źródło
:selected
.$("#dropDownId").children("option").filter(":selected").text()
.val()
i.text()
jQuery(domVariable).val()
Powinien działać dobrze, zobacz ten przykład:
źródło
Wypróbuj jQuery,
lub ten javascript,
Jeśli potrzebujesz dostępu do wartości, a nie tekstu, spróbuj użyć
val()
metody zamiasttext()
.Sprawdź poniższe linki do skrzypiec.
Demo1 | Demo2
źródło
Spróbuj tego
źródło
Wiem, że to strasznie stary post i prawdopodobnie powinienem zostać wychłostany za to żałosne zmartwychwstanie, ale pomyślałem, że podzielę się kilkoma BARDZO pomocnymi krótkimi fragmentami JS, których używam podczas każdej aplikacji w moim arsenale ...
Jeśli piszesz:
się starzeje, spróbuj dodać te małe crumpets do
*.js
pliku globalnego :i po prostu napisz
soval("#selector");
lubsotext("#selector");
zamiast! Dostać nawet amator łącząc dwa i powrocie przedmiot zawierający zarównovalue
atext
!Oszczędza mi to mnóstwo cennego czasu, szczególnie w aplikacjach o dużej gramaturze!
źródło
Zaalarmuje to wybraną wartość. Kod JQuery ...
Kod HTML...
źródło
to załatwi sprawę
źródło
Jeszcze inny przetestowany przykład:
źródło
Spróbuj tego, uzyska wartość:
$('select#myField').find('option:selected').val();
źródło
Czy podałeś swój element select z identyfikatorem?
Twoje pierwsze zdanie powinno działać!
źródło
Dla wybranego tekstu użyj:
Dla wybranej wartości użyj:
źródło
To,
id
co zostało wygenerowane dla twojej rozwijanej kontroli w,html
będzie dynamiczne. Więc użyj pełnego identyfikatora$('ct100_<Your control id>').val().
To zadziała.źródło
Lub jeśli spróbujesz:
Użyłem go dzisiaj i działa dobrze.
źródło
posługiwać się
To powinno działać :)
źródło
Aby uzyskać wartość jquery z listy rozwijanej, wystarczy użyć poniższej funkcji właśnie wysłanej
id
i uzyskać wybraną wartość:źródło
źródło
Wiem, że to jest stare, ale myślę, że aktualizuję to z bardziej aktualną odpowiedzią
mam nadzieję, że to pomoże
źródło
źródło
użyj jednego z tych kodów
LUB
źródło
To działa
źródło
Lub
Powyższe kody działały dla mnie dobrze
źródło
Możesz to zrobić za pomocą następującego kodu.
Jeśli chcesz uzyskać wybraną wartość z opcji listy wyboru. To załatwi sprawę.
źródło
Możesz użyć dowolnego z tych:
źródło
Musisz to tak ułożyć.
źródło
Spróbuj tego:
źródło
Użyj poniższej metody, aby uzyskać wybraną wartość przy ładowaniu strony:
źródło
Jeśli masz więcej niż jedną listę rozwijaną, spróbuj:
HTML:
JavaScript:
źródło
HTML:
JavaScript:
źródło
źródło
to powinno Ci pomóc
źródło