Das funktioniert perfekt
<select name="selectbox" onchange="alert(this.value)">
Aber ich möchte den Text auswählen. Ich habe es auf diese Weise versucht
<select name="selectbox" onchange="alert(this.text)">
Es zeigt undefiniert. Ich habe herausgefunden, wie man DOM verwendet, um Text zu erhalten. Aber ich möchte dies auf diese Weise tun, ich meine, ich möchte nur diesen Wert verwenden.
javascript
select
Aajahid
quelle
quelle
options
Gibt eine Liste vonOption
Objekten zurück, von denen ich nicht sicher bin, ob sie irgendwo mit<option>
Elementen identisch sind. Verwenden Sie besser die altehrwürdigetext
Eigenschaft der ausgewählten PersonOption
, die garantiert funktioniert.Option
Objekte sind die gleichen wieHTMLOptionElement
Objekte. Wenn Sie gegen die Verwendung sindoptions
, können Sie alternativchildren
oderchildNodes
stattdessen verwenden (kann mich nicht genau erinnern, welche; ich denke, dass beide funktionieren)options
, aberOption
Objekte sind älter alsHTMLOptionElement
Objekte, und ich habe keine Spezifikation gesehen, die dies vorschreibtOption
undHTMLOptionElement
dasselbe sein muss, auch wenn sie in den meisten Browsern, die beide unterstützen, möglicherweise vorhanden sind. Mein Punkt ist, dass es sicherer wäre, die beiden Stile nicht zu mischen. Ich würde alsothis.options[this.selectedIndex].text
eine knotenbasierte Sache bevorzugen oder darauf basierenselectedIndex
, was durch die Notwendigkeit, Whitespace-Textknoten im IE herauszufiltern, kompliziert wird.text
dieinnerHTML
oder nur alle Textknoten zusammen zurück?Um den Wert des ausgewählten Elements zu erhalten, haben Sie folgende Möglichkeiten:
this.options[this.selectedIndex].text
Hier wird auf die verschiedenen
options
Auswahlen zugegriffen, und auf dieSelectedIndex
wird die ausgewählte ausgewählt, und danntext
wird auf sie zugegriffen.Lesen Sie mehr über die Auswahl DOM hier .
quelle
this.options[this.selectedIndex].value
ist genau das gleiche wiethis.value
, sorry.selectedIndex
nicht so istSelectedIndex
.this.selectedOptions[0].text
(mit offensichtlichen Erweiterungen, wenn Sie eine Mehrfachauswahl haben).Bitte versuchen Sie diesen Code:
$("#YourSelect>option:selected").html()
quelle
Benutz einfach
$('#SelectBoxId option:selected').text();
Zum Abrufen von Text wie aufgelistet$('#SelectBoxId').val();
Zum Abrufen des ausgewählten Indexwertsquelle
Ich weiß, dass hier niemand nach einer jQuery-Lösung fragt, aber es könnte erwähnenswert sein, dass Sie mit jQuery einfach fragen können:
$('#selectorid').val()
quelle
Wenn Sie den Wert erhalten möchten, können Sie diesen Code für ein Auswahlelement mit der ID = "selectBox" verwenden.
let myValue = document.querySelector("#selectBox").value;
Wenn Sie den Text erhalten möchten, können Sie diesen Code verwenden
var sel = document.getElementById("selectBox"); var text= sel.options[sel.selectedIndex].text;
quelle