Frage
<select id="target">
<option value="1">item1</option>
<option value="2">item2</option>
<option value="3">item3</option>
</select>
Sprich, ich mag ausgewählten Wert einig Verarbeitung zu tun, nach.
Lösung
$('#target').change( function() {
$(this).find(":selected").each(function () {
console.log( $(this).val() );
});
});
Andere Tipps
$("#target").change( function() {
alert($("#target option:selected").val());
});
Sie können auch dies auch berücksichtigen müssen, wenn die Person, die Option nicht ändern, sondern klickt einfach auf der Dropdown und wählen das gleiche Element:
$("#target option").click( function() {
alert($("#target option:selected").val());
});
$("#target").change( function() {
var selectedOption = $("#target option:selected");
var selectedValue = selectedOption.val(); // gets the selected value
var selectedText = selectedOption.text(); // gets the selected text
});
Die akzeptierte Antwort ist in Ordnung, aber keine Änderungen durch Tastendruck (Pfeil-Tasten oder alphanum Tasten) getan fangen.
Dies ist eine bessere apporach:
$('#target').bind("change keyup",function() {
$(this).find(":selected").each(function () {
// do something amazing here
});
});
Sie können den ausgewählten Wert erhalten und Text einfach durch:
$("#target").change(function() {
var selectedValue = $(this).val(),
selectedText = $('option:selected', this).text();
// ...
});
Mit Pfeil-Funktion, kann es sein:
$('#target').change((e) =>{
console.log(e.currentTarget.value);
console.log(e.currentTarget.textContent);
});
Ersetzen this
durch event.currentTarget
.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow