Wie kann ich den ausgewählten Text (nicht den ausgewählten Wert) aus einer Dropdown-Liste in jQuery abrufen?
$("#yourdropdownid option:selected").text();
Versuche dies:
$("#myselect :selected").text();
Für eine ASP.NET-Dropdown-Liste können Sie den folgenden Selektor verwenden:
$("[id*='MyDropDownId'] :selected")
Die hier geposteten Antworten lauten zum Beispiel
$('#yourdropdownid option:selected').text();
hat bei mir nicht funktioniert, aber das hat:
$('#yourdropdownid').find('option:selected').text();
Es ist möglicherweise eine ältere Version von jQuery.
Wenn Sie die Dropdown-Liste bereits in einer Variablen verfügbar haben, funktioniert dies für mich:
$("option:selected", myVar).text()
Die anderen Antworten auf diese Frage haben mir geholfen, aber letztendlich funktioniert der Thread $ (this + "option: selected"). Attr ("rel") nicht im IE hat am meisten geholfen.
Update: Der obige Link wurde behoben
$("option:selected", $("#TipoRecorde")).text()
Das funktioniert bei mir
$("#dropdownid").change(function() {
alert($(this).find("option:selected").text());
});
Wenn das Element dynamisch erstellt wurde
$(document).on("change", "#dropdownid", function() {
alert($(this).find("option:selected").text());
});
$("#DropDownID").val()
gibt den ausgewählten Indexwert an.
Verwenden Sie für den Text des ausgewählten Elements:
$('select[name="thegivenname"] option:selected').text();
Verwenden Sie für den Wert des ausgewählten Elements:
$('select[name="thegivenname"] option:selected').val();
Verschiedene Wege
1. $("#myselect option:selected").text();
2. $("#myselect :selected").text();
3. $("#myselect").children(":selected").text();
4. $("#myselect").find(":selected").text();
$("#dropdownID").change(function(){
alert($('option:selected', $(this)).text());
});
var someName = "Test";
$("#<%= ddltest.ClientID %>").each(function () {
$('option', this).each(function () {
if ($(this).text().toLowerCase() == someName) {
$(this).attr('selected', 'selected')
};
});
});
Das wird Ihnen helfen, die richtige Richtung einzuschlagen. Der obige Code ist vollständig getestet, wenn Sie weitere Hilfe benötigen, lassen Sie es mich wissen.
Bitte benutze dies
var listbox = document.getElementById("yourdropdownid");
var selIndex = listbox.selectedIndex;
var selValue = listbox.options[selIndex].value;
var selText = listbox.options[selIndex].text;
Dann benachrichtigen Sie bitte "selValue" und "selText". Sie erhalten Ihren ausgewählten Dropdown-Wert und Text
Für diejenigen, die SharePoint -Listen verwenden und die lange generierte ID nicht verwenden möchten, funktioniert Folgendes:
var e = $('select[title="IntenalFieldName"] option:selected').text();
$("#selectID option:selected").text();
Anstelle von #selectID
können Sie einen beliebigen jQuery-Selektor verwenden, z. B. .selectClass
using class.
Wie in der Dokumentation erwähnt hier .
Der: selected-Selektor funktioniert für <option> -Elemente. Es funktioniert nicht für Kontrollkästchen oder Radiosignale. benutze :checked
für sie.
. text () Gemäß der Dokumentation hier .
Ermittelt den kombinierten Textinhalt jedes Elements in der Menge der übereinstimmenden Elemente, einschließlich ihrer Nachkommen.
Sie können also mit der .text()
-Methode Text von jedem HTML-Element übernehmen.
Weitere Erklärungen finden Sie in der Dokumentation.
$("select[id=yourDropdownid] option:selected").text()
Das funktioniert gut
$('#id').find('option:selected').text();
Verwenden Sie, um den ausgewählten Wert zu erhalten
$('#dropDownId').val();
verwenden Sie diese Zeile, um den ausgewählten Elementtext abzurufen:
$("#dropDownId option:selected").text();
Wählen Sie Text und den ausgewählten Wert in der Dropdown-Liste aus/wählen Sie das Änderungsereignis in jQuery aus
$("#yourdropdownid").change(function() {
console.log($("option:selected", this).text()); //text
console.log($(this).val()); //value
})
Verwenden:
('#yourdropdownid').find(':selected').text();
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
Bei Geschwistern
<a class="uibutton confirm addClient" href="javascript:void(0);">ADD Client</a>
<input type="text" placeholder="Enter client name" style="margin: 5px;float: right" class="clientsearch large" />
<select class="mychzn-select clientList">
<option value="">Select Client name....</option>
<option value="1">abc</option>
</select>
/*jQuery*/
$(this).siblings('select').children(':selected').text()
bei mir hat folgendes geklappt:
$.trim($('#dropdownId option:selected').html())
Versuchen:
$var = jQuery("#dropdownid option:selected").val();
alert ($var);
Oder verwenden Sie text()
, um den Text der Option abzurufen:
$var = jQuery("#dropdownid option:selected").text();
alert ($var);
Weitere Informationen:
Probieren Sie einfach den folgenden Code aus.
var text= $('#yourslectbox').find(":selected").text();
es gibt den Text der ausgewählten Option zurück.
Diese Arbeit für mich:
$("#city :selected").text();
Ich verwende jQuery 1.10.2
$(function () {
alert('.val() = ' + $('#selectnumber').val() + ' AND html() = ' + $('#selectnumber option:selected').html() + ' AND .text() = ' + $('#selectnumber option:selected').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<select id="selectnumber">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
<option value="4">four</option>
</select>
</div>
</form>
</body>
</html>
Wenn Sie das Ergebnis als Liste haben möchten, verwenden Sie:
x=[];
$("#list_id").children(':selected').each(function(){x.Push($(this).text());})
$("#dropdownid option:selected").text();
wenn du asp.net benutzt und schreibst
<Asp:dropdownlist id="ddl" runat="Server" />
dann solltest du verwenden
$('#<%=ddl.Clientid%> option:selected').text();
Fügen Sie einfach die folgende Zeile hinzu
$(this).prop('selected', true);
ersetzte .att zu .prop, es funktionierte für alle Browser.
Für Mehrfachauswahl:
$("#yourdropdownid :selected").map(function(i, v) { return $.trim($(v).text()); }