Ruft den Wert eines Dropdowns in jQuery ab

100

Ich habe ein Dropdown-Menü mit einem Paar "ID, Name".

Beispiel

Jon Miller
Jim Smith
Jen Morsin

Jon MIller hat eine ID von 101
Jim Smith hat eine ID von 102
Jen Morsin hat eine ID von 103

Wenn ich folgendes mache:

var arNames = $('#Crd').val() 

und ich wähle Jon Miller, ich bekomme 101. Ich würde gerne Jon Miller bekommen.

Nate Pet
quelle

Antworten:

184

$('#Crd').val()gibt Ihnen den ausgewählten Wert des Dropdown-Elements. Verwenden Sie diese Option, um den ausgewählten Optionstext abzurufen.

$('#Crd option:selected').text();
ShankarSangoli
quelle
3
$ ('# Crd Option: ausgewählt'). Text () oder $ ('# Crd Option: ausgewählt'). Val (), .text gibt Ihnen den Wert des angezeigten Textes, nicht den Wert
patrick choi
$ ('# Crd Option: ausgewählt'). Val (); für Wert
Asifaftab87
13

Der beste Weg ist zu verwenden:

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

Abhängig von der Anforderung können Sie auch Folgendes verwenden:

var v = $("#yourid").val();
$("#yourid option[value="+v+"]").text()
Sandeep Pal
quelle
5

Wenn Sie a verwenden <select>, .val()wird der 'Wert' des ausgewählten Wertes abgerufen <option>. Wenn es kein hat value, kann es auf das zurückgreifen id. Geben Sie den Wert, den Sie zurückgeben möchten, in das valuejeweilige Attribut ein<option>

Bearbeiten: In den Kommentaren wird erläutert, was valuetatsächlich ist (nicht unbedingt gleich dem valueAttribut).

Ansel Santosa
quelle
1
Nur zur Verdeutlichung: .val () gibt die Live-Value-Eigenschaft zurück, nicht den HTML-Attributwert.
Chad
Richtig. In diesem Fall gibt es jedoch keinen praktischen Unterschied, da das OP valuezu keinem Zeitpunkt das s ändern möchte .
Ansel Santosa
2
.val() gets the 'value' attribute of the selected <option>, wie gesagt: nur klären.
Chad
Was ist, wenn ich den Index oder die ID anstelle des Textes benötige?
BGMCoder
5

Das hat bei mir funktioniert!

$('#selected-option option:selected').val()

Hoffe das hilft jemandem!

N00b Pr0grammer
quelle
3
var sal = $('.selectSal option:selected').eq(0).val();

selectSal ist eine Klasse.

Akanksha Singh
quelle
2

Versuche dies:

var text = $('#YourDropdownId').find('option:selected').text();
Fereydoon Barikzehy
quelle
2

Andere Option:

$("#<%=dropDownId.ClientID%>").children("option:selected").val();
user3166722
quelle
0

Wie bereits erwähnt ... selectgibt das .val()Attribut in einem Feld den Wert der ausgewählten Option an. Wenn die ausgewählte Option kein Wertattribut hat, wird standardmäßig der Anzeigewert der Option verwendet (wie in den Beispielen in der jQuery-Dokumentation von.val gezeigt).

Sie möchten .text()die ausgewählte Option verwenden:

$('#Crd option:selected').text()

lhagemann
quelle
0

Dies gibt Ihnen den aktuellen Wert der Dropdown-Liste an, wenn die Dropdown-Liste die ID "someId" hat.

$("#someId").val();
jeswin
quelle
0

$('.leave_response').on('change', function() {
    var responseId = $(this).val();
    console.log(responseId);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<td>
    <select class="leave_response" name="leave">
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
    </select>
</td>

Yasas Malinga
quelle
0

Übergeben Sie die ID und halten Sie sie in einer Variablen und übergeben Sie die Variable, wo immer Sie möchten.

var temp = $ ('select [name = ID Name]'). val ();

Abhijit Patra
quelle
$ ('select [name = ID Name] Option: ausgewählt'). val (); Dieser funktioniert auch
Abhijit Patra