Wie kann ich den ausgewählten Text (nicht den ausgewählten Wert) aus einer Dropdown-Liste in jQuery abrufen?
Wie kann ich den ausgewählten Text (nicht den ausgewählten Wert) aus einer Dropdown-Liste in jQuery abrufen?
Antworten:
$("#yourdropdownid option:selected").text();
$("#yourdropdownid").children("option").filter(":selected").text()
da is () einen Booleschen Wert zurückgibt, ob das Objekt mit dem Selektor übereinstimmt oder nicht.
is("selected").text()
gibt aTypeError: Object false has no method 'text'
$('select').children(':selected')
ist der schnellste Weg: jsperf.com/get-selected-option-text
Versuche dies:
$("#myselect :selected").text();
Für ein ASP.NET-Dropdown können Sie den folgenden Selektor verwenden:
$("[id*='MyDropDownId'] :selected")
("#ct0001yourdropdownid)
ID
Ihre Kontrolle übernehmen, und wenn nicht, basierend auf dem Index, wo sie in der aktuellen Ebene des Baums auftreten usw. )
Die hier geposteten Antworten zum Beispiel
$('#yourdropdownid option:selected').text();
hat bei mir nicht funktioniert, aber das hat funktioniert:
$('#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 hat die Option jQuery- Forenthread $ (diese + "Option: ausgewählt"). Attr ("rel"), die ausgewählt wurde, im IE nicht am meisten geholfen.
Update: Der obige Link wurde behoben
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());
});
Das funktioniert bei mir:
$('#yourdropdownid').find('option:selected').text();
jQuery- Version: 1.9.1
change
Fall kann ich jetzt $(this).find('option:selected').text()
Text abrufen.
$(this).children(':selected').text()
würde auch funktionieren. @ Timo002
$("#dropdownID").change(function(){
alert($('option:selected', $(this)).text());
});
$(this)
nach meinem Ajax-Anruf erwartet hatte
Benutze das
const select = document.getElementById("yourSelectId");
const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;
Dann erhalten Sie Ihren ausgewählten Wert und Text in selectedValue
und selectedText
.
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 zu finden. Der obige Code ist vollständig getestet, wenn Sie weitere Hilfe benötigen. Lassen Sie es mich wissen.
Für diejenigen, die SharePoint- Listen verwenden und die lange generierte ID nicht verwenden möchten, funktioniert dies:
var e = $('select[title="IntenalFieldName"] option:selected').text();
$("#selectID option:selected").text();
Stattdessen #selectID
können Sie einen beliebigen jQuery-Selektor verwenden, z. B. .selectClass
class.
Wie in der Dokumentation hier erwähnt .
Der ausgewählte Selektor funktioniert für <Option> -Elemente. Es funktioniert nicht für Kontrollkästchen oder Funkeingänge. Verwendung :checked
für sie.
.text () Gemäß der Dokumentation hier .
Rufen Sie den kombinierten Textinhalt jedes Elements in der Gruppe der übereinstimmenden Elemente einschließlich ihrer Nachkommen ab.
Mit der .text()
Methode können Sie also Text aus jedem HTML-Element entnehmen .
Weitere Informationen finden Sie in der Dokumentation.
$("select[id=yourDropdownid] option:selected").text()
Das funktioniert gut
Wählen Sie Text und ausgewählten Wert in der Dropdown-Liste aus / wählen Sie Änderungsereignis in jQuery
$("#yourdropdownid").change(function() {
console.log($("option:selected", this).text()); //text
console.log($(this).val()); //value
})
Versuchen Sie einfach den folgenden Code.
var text= $('#yourslectbox').find(":selected").text();
Es gibt den Text der ausgewählten Option zurück.
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
var div = e.options[e.selectedIndex].text;
, und es wird nur das erste Optionselement angezeigt. Wie wird jedes Element angezeigt?
Folgendes hat bei mir funktioniert:
$.trim($('#dropdownId option:selected').html())
Diese Arbeit für mich:
$("#city :selected").text();
Ich verwende jQuery 1.10.2
Im Geschwisterfall
<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()
$(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>
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);
Mehr Info: