W następującym:
<select id="test">
<option value="1">Test One</option>
<option value="2">Test Two</option>
</select>
Jak uzyskać tekst wybranej opcji (np. „Test One” lub „Test Two”) przy użyciu JavaScript
document.getElementsById('test').selectedValue
zwraca 1 lub 2, jaka właściwość zwraca tekst wybranej opcji?
javascript
html
dom
CountZero
źródło
źródło
Jeśli używasz jQuery, możesz napisać następujący kod:
źródło
.text()
$("#selectId option[selected]")
, co spowoduje wybranie opcji, która ma atrybut „wybrane”, ale może nie być aktualnie wybrana.źródło
W HTML5 możesz to zrobić:
Dokumentacja MDN pod adresem https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/selectedOptions wskazuje na pełną obsługę różnych przeglądarek (od co najmniej grudnia 2017 r.), W tym przeglądarek Chrome, Firefox, Edge i mobilnych , ale z wyłączeniem Internet Explorera.
źródło
Bibliografia:
źródło
options
Właściwość zawiera wszystko<options>
- stamtąd można spojrzeć na.text
źródło
Możesz użyć,
selectedIndex
aby pobrać aktualnie wybraneoption
:źródło
this.options [this.selectedIndex] .innerText
źródło
Jeśli znalazłeś ten wątek i chciałeś wiedzieć, jak uzyskać tekst wybranej opcji za pośrednictwem zdarzenia, oto przykładowy kod:
źródło
Użyj obiektu listy wyboru, aby zidentyfikować własny indeks wybranych opcji. Stamtąd - pobierz wewnętrzny kod HTML tego indeksu. A teraz masz ciąg tekstowy tej opcji.
źródło
.innerHTML
dostaje wszystkie dzieci i ich atrybuty. Chociaż działa, gdy element nie ma dzieci, jeśli masz element z dziećmi, zwraca znacznie więcej niż jest zamierzone.Podobny do @artur tylko bez jQuery, z prostym javascriptem:
// Używanie zmiennej „elt” @ Seana-brighta
źródło
Łatwy, prosty sposób:
źródło
find()
skoro znasz już indeks wybranej pozycji? Ponadto, jeśli nie ma wybranej pozycji (<select multiple>
), spowoduje to błąd.