Myślę, że tak powinno być, $("#yourdropdownid").children("option").filter(":selected").text()ponieważ is () zwraca wartość logiczną tego, czy obiekt pasuje do selektora, czy nie.
MHollis
42
Po drugie komentarz na temat: () zwraca boolen; alternatywnie użyj następującej małej zmiany: $ ('# yourdropdownid'). children ("option: selected"). text ();
scubbo
25
@ Test DT3 is("selected").text()zwraca aTypeError: Object false has no method 'text'
Wersja ASP.NET tutaj jest jedyną Jquery, która działa dla mnie z asp.net, dlatego zgadzam się na to. Ten: ( '$ ("# (opcja # twodropdownid opcja: wybrana"). Text ();' nie działał na stronie asp.net przy użyciu strony wzorcowej.
netfed
5
nie działa, ponieważ strony wzorcowe asp.net rzucają losowe znaki przed selektorem. Technicznie szuka czegoś takiego("#ct0001yourdropdownid)
@CSharper - Myślę, że powiedzenie ASP.NET rzuca losowe znaki jest raczej mylące. W ogóle nie są losowe, są strukturalne i przestrzegają surowych zasad (w oparciu o takie rzeczy, jak nałożenie IDkontroli, a jeśli nie, to na podstawie indeksu miejsca, w którym występują na bieżącym poziomie drzewa itp. )
freefaller
Cześć, jak to robisz w wierszu / komórce tabeli, skąd wiesz, który z rozwijanego menu, szczególnie w ASP MVC 5
Nie nienawidzę tej odpowiedzi. Użycie słowa kluczowego „znajdź” pomogło mi. Pochodziłem z zupełnie innego kontekstu.
ROFLwTIME,
5
w ogóle nie potrzebujesz części opcji, jak sugeruje to z zaznaczeniem .. po prostu używając $ ('# yourdropdownid: selected'). text (); będzie działać dobrze
Dss
jquery-1.10.2.min, ten działał dla mnie, a nie dla innych.
kubilay
Popularna odpowiedź działa, ale potrzebowałem jej w już uzyskanym odwołaniu do wybranego, więc jest to dla mnie najlepsza odpowiedź
Graham,
102
Jeśli masz już listę rozwijaną dostępną w zmiennej, to działa dla mnie:
Próbowałem zalogować się do div var div = e.options[e.selectedIndex].text;i wyświetla tylko pierwszy element opcji. Jak sprawić, by każdy element był wyświetlany?
Cześć, jak to robisz w wierszu / komórce tabeli , skąd wiesz, które menu rozwijane z tabeli? Próbuję wykonać wywołanie ajax w celu pobrania i zapełnienia wartości, mogę to zrobić na zewnątrz na stronie, ale nie w wierszu tabeli ... czy możesz mi pomóc, proszę
Odpowiedzi:
źródło
$("#yourdropdownid").children("option").filter(":selected").text()
ponieważ is () zwraca wartość logiczną tego, czy obiekt pasuje do selektora, czy nie.is("selected").text()
zwraca aTypeError: Object false has no method 'text'
$('select').children(':selected')
jest najszybszym sposobem: jsperf.com/get-selected-option-textSpróbuj tego:
Do rozwijanego menu ASP.NET można użyć następującego selektora:
źródło
("#ct0001yourdropdownid)
ID
kontroli, a jeśli nie, to na podstawie indeksu miejsca, w którym występują na bieżącym poziomie drzewa itp. )Odpowiedzi zamieszczone tutaj, na przykład,
nie działało dla mnie, ale to:
Jest to prawdopodobnie starsza wersja jQuery.
źródło
Jeśli masz już listę rozwijaną dostępną w zmiennej, to działa dla mnie:
Inne odpowiedzi na to pytanie pomogły mi, ale ostatecznie wątek forum jQuery $ (ta + „opcja: wybrana”). Wybrana opcja attr („rel”) nie działa w IE najbardziej pomogła.
Aktualizacja: naprawiono powyższy link
źródło
To działa dla mnie
Jeśli element tworzony jest dynamicznie
źródło
źródło
$("#DropDownID").val()
da wybraną wartość indeksu.źródło
To działa dla mnie:
Wersja jQuery : 1.9.1
źródło
change
razie mogę teraz użyć,$(this).find('option:selected').text()
aby uzyskać tekst.$(this).children(':selected').text()
też by działał. @ Timo002Do tekstu wybranego elementu użyj:
Jako wartość wybranego elementu użyj:
źródło
Różne drogi
źródło
źródło
$(this)
po mojej rozmowie zUżyj tego
Następnie otrzymasz wybraną wartość i tekst w środku
selectedValue
iselectedText
.źródło
Pomoże Ci to we właściwym kierunku. Powyższy kod jest w pełni przetestowany, jeśli potrzebujesz dalszej pomocy, daj mi znać.
źródło
Dla tych, którzy używają list SharePoint i nie chcą używać długo generowanego identyfikatora, zadziała to:
źródło
Zamiast tego
#selectID
możesz użyć dowolnego selektora jQuery, takiego jak.selectClass
użycie class.Jak wspomniano w dokumentacji tutaj .
Selektor: selected działa dla elementów <option>. Nie działa dla pól wyboru ani wejść radiowych; użyj
:checked
dla nich..text () Zgodnie z dokumentacją tutaj .
Uzyskaj połączoną zawartość tekstową każdego elementu w zestawie dopasowanych elementów, w tym ich potomków.
Możesz więc pobrać tekst z dowolnego elementu HTML przy użyciu tej
.text()
metody.Bardziej szczegółowe wyjaśnienia znajdują się w dokumentacji.
źródło
To działa dobrze
źródło
Aby uzyskać wybraną wartość, użyj
i aby uzyskać tekst wybranego elementu, użyj tego wiersza:
źródło
źródło
Wybierz Tekst i wybraną wartość w menu rozwijanym / wybierz zdarzenie zmiany w jQuery
źródło
Po prostu wypróbuj następujący kod.
zwraca tekst wybranej opcji.
źródło
Posługiwać się:
źródło
źródło
var div = e.options[e.selectedIndex].text;
i wyświetla tylko pierwszy element opcji. Jak sprawić, by każdy element był wyświetlany?działało dla mnie:
źródło
Ta praca dla mnie:
Używam jQuery 1.10.2
źródło
W przypadku rodzeństwa
źródło
źródło
Próbować:
Lub, aby uzyskać tekst opcji, użyj
text()
:Więcej informacji:
źródło
Jeśli chcesz wynik jako listę, użyj:
źródło
$("#dropdown option:selected").text();
źródło
Ten kod działał dla mnie.
źródło