<select onchange="test()" id="select_id">
<option value="0">-Select-</option>
<option value="1">Communication</option>
</select>
Ich muss den Wert der ausgewählten Option in Javascript erhalten: Weiß jemand, wie man den ausgewählten Wert oder Text erhält, bitte sagen Sie, wie man eine Funktion dafür schreibt. Ich habe die Funktion onchange () zur Auswahl zugewiesen. Was mache ich danach?
javascript
Siva
quelle
quelle
value
von dem wollen, dasoption
ausgewählt wurde, dann ...<select onchange="window.alert(this.value);">
...option
s ...</select>
... sollten Sie genau das und nichts mehr bekommen.Antworten:
Verwenden Sie dazu entweder JavaScript oder jQuery.
Verwenden von JavaScript
Verwenden von jQuery
quelle
select.text
oder in jQueryselect.text()
.$('#select_id option:selected').text()
Dies gibt den Text der ausgewählten Option Auswählen oder Kommunikation zurückdocument.getElementById("select_id").onchange = (evt) => { console.log(evt.srcElement.value); }
Wenn Sie dies googeln und nicht möchten, dass der Ereignis-Listener ein Attribut ist, verwenden Sie:
quelle
Keine Onchange-Funktion erforderlich. Sie können den Wert in einer Zeile erfassen:
Oder teilen Sie es zur besseren Lesbarkeit auf:
quelle
quelle
a.value
für? Gibt es Browser, die solche tatsächlich unterstützen? können wir nicht einfach verwendena.options[a.selectedIndex].value
?Wow, noch keine wirklich wiederverwendbaren Lösungen unter den Antworten. Ich meine, ein Standard-Ereignishandler sollte nur ein
event
Argument erhalten und muss überhaupt keine IDs verwenden. Ich würde verwenden:Sie können diesen Handler mit jedem - Inline-Js verwenden:
jQuery:
oder Vanilla JS-Handler-Einstellung:
Und müssen Sie dies nicht für jedes
select
Element neu schreiben, das Sie haben.Beispielausschnitt:
quelle
quelle
Verwenden
Oder um den Wert zu erhalten:
quelle
In der Warnung sehen Sie den INT-Wert des ausgewählten Index. Behandeln Sie die Auswahl als Array und Sie erhalten den Wert
quelle
HTML:
JS:
quelle
Ich frage mich, dass jeder darüber geschrieben hat
value
und einetext
Option hat, von der<option>
niemand etwas vorgeschlagen hatlabel
.Daher schlage ich
label
auch vor, wie von allen Browsern unterstütztZu bekommen
value
(wie andere vorgeschlagen)Zu bekommen
option
text
(dh Kommunikation oder -Select-)ODER (neuer Vorschlag)
HTML
Ebenfalls
quelle
Dies ist eine alte Frage, aber ich bin mir nicht sicher, warum die Leute nicht vorgeschlagen haben, das Ereignisobjekt zum Abrufen der Informationen zu verwenden, anstatt das DOM erneut zu durchsuchen.
Gehen Sie einfach das Ereignisobjekt in Ihrer Funktion onChange durch, siehe Beispiel unten
function test() { console.log(event.srcElement.value); }
http://jsfiddle.net/Corsico/3yvh9wc6/5/
Könnte für Leute nützlich sein, die dies heute nachschlagen, wenn dies vor 7 Jahren nicht das Standardverhalten war
quelle
quelle
quelle
Ich habe versucht, mit meiner eigenen Probe zu erklären, aber ich hoffe, es wird Ihnen helfen. Sie brauchen onchange = "test ()" nicht. Führen Sie das Code-Snippet aus, um ein Live-Ergebnis zu erhalten.
quelle
edited 7 hours ago
Zumindest haben Sie den Code behoben, der nicht gut funktioniert hat.