503 Stimmen

Ausgewählten Wert eines Dropdown-Elements mit jQuery abrufen

Wie kann ich den ausgewählten Wert einer Dropdown-Box mit jQuery erhalten?
Ich habe es mit

var value = $('#dropDownId').val();

y

var value = $('select#dropDownId option:selected').val();

aber beide geben eine leere Zeichenkette zurück.

3 Stimmen

Beides sollte funktionieren. Das Problem muss irgendwo anders liegen (z.B. ist der Code in eine $(document).ready(... Block?)

5 Stimmen

var value = $('#dropDownId:selected').val();

4 Stimmen

Nein - $('#dropDownId').val(); ist der einfachste Weg, um den ausgewählten Wert zu erhalten.

946voto

Peter McG Punkte 18387

Für einzelne Select-Dom-Elemente, um den aktuell ausgewählten Wert zu erhalten:

$('#dropDownId').val();

Um den aktuell ausgewählten Text zu erhalten:

$('#dropDownId :selected').text();

62voto

Nick Reeve Punkte 1538
var value = $('#dropDownId:selected').text()

Sollte gut funktionieren, siehe dieses Beispiel:

$(document).ready(function(){ 
  $('#button1').click(function(){ 
    alert($('#combo :selected').text());
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="combo">
  <option value="1">Test 1</option>
  <option value="2">Test 2</option>
</select>
<input id="button1" type="button" value="Click!" />

27voto

Lucky Punkte 15797

Probieren Sie dieses jQuery,

$("#ddlid option:selected").text();

oder dieses Javascript,

 var selID=document.getElementById("ddlid");
 var text=selID.options[selID.selectedIndex].text;

Wenn Sie auf den Wert und nicht auf den Text zugreifen müssen, versuchen Sie es mit val() Methode anstelle von text() .

Schauen Sie sich die untenstehenden Links an.

Demo1 | Demo2

14voto

Kvadiyatar Punkte 909

Versuchen Sie dies

$("#yourDropdown option:selected").text();

13voto

DevlshOne Punkte 8167

Ich weiß, dies ist ein schrecklich alten Beitrag und ich sollte wahrscheinlich für diese klägliche Wiederauferstehung gepeitscht werden, aber ich dachte, ich würde ein paar sehr hilfreiche kleine JS-Snippets teilen, die ich in jeder Anwendung in meinem Arsenal verwenden ...

Wenn Sie es abtippen:

$("#selector option:selected").val() // or
$("#selector option:selected").text()

alt wird, versuchen Sie, diese kleinen Kekse in Ihr globales Angebot aufzunehmen. *.js Datei:

function soval(a) {
    return $('option:selected', a).val();
}
function sotext(a) {
    return $('option:selected', a).text();
}

und schreiben Sie einfach soval("#selector"); o sotext("#selector"); stattdessen! Noch raffinierter wird es, wenn Sie die beiden kombinieren und ein Objekt zurückgeben, das sowohl die value und die text !

function so(a) {
    my.value = $('option:selected', a).val();
    my.text  = $('option:selected', a).text();
    return my;
}

Das spart mir eine Menge kostbarer Zeit, vor allem bei formlastigen Bewerbungen!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X