JQuery'deki açılır listeden seçilen metni (seçilen değeri değil) nasıl alabilirim ?
JQuery'deki açılır listeden seçilen metni (seçilen değeri değil) nasıl alabilirim ?
Yanıtlar:
$("#yourdropdownid option:selected").text();
$("#yourdropdownid").children("option").filter(":selected").text()
yana olması gerektiğini düşünüyorum () nesne seçici ile eşleşip eşleşmediğini bir boole döndürür.
is("selected").text()
sonuçları birTypeError: Object false has no method 'text'
$('select').children(':selected')
en hızlı yoldur: jsperf.com/get-selected-option-text
Bunu dene:
$("#myselect :selected").text();
ASP.NET açılır menüsü için aşağıdaki seçiciyi kullanabilirsiniz:
$("[id*='MyDropDownId'] :selected")
("#ct0001yourdropdownid)
ID
kontrolünüze koyup koymamanız gibi şeylere dayanır ve eğer değilse, ağacın mevcut seviyesinde nerede bulundukları dizinine vb. )
Burada gönderilen cevaplar, örneğin,
$('#yourdropdownid option:selected').text();
benim için işe yaramadı, ama bu işe yaradı:
$('#yourdropdownid').find('option:selected').text();
Muhtemelen jQuery'nin daha eski bir sürümüdür.
Bir değişkente açılır listeniz zaten varsa, bu benim için işe yarıyor:
$("option:selected", myVar).text()
Bu sorudaki diğer cevaplar bana yardımcı oldu, ama sonuçta jQuery forum iş parçacığı $ (bu + "seçenek: seçili") .Attr ("rel") seçeneği IE'de çalışmıyor en çok yardımcı oldu.
Güncelleme: yukarıdaki bağlantı düzeltildi
Bu benim için çalışıyor
$("#dropdownid").change(function() {
alert($(this).find("option:selected").text());
});
Öğe dinamik olarak oluşturulduysa
$(document).on("change", "#dropdownid", function() {
alert($(this).find("option:selected").text());
});
Bunu kullan
const select = document.getElementById("yourSelectId");
const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;
Sonra seçtiğiniz değeri ve metni selectedValue
ve içine alırsınız selectedText
.
var someName = "Test";
$("#<%= ddltest.ClientID %>").each(function () {
$('option', this).each(function () {
if ($(this).text().toLowerCase() == someName) {
$(this).attr('selected', 'selected')
};
});
});
Bu doğru yönü bulmanıza yardımcı olacaktır. Daha fazla yardıma ihtiyacınız olursa yukarıdaki kod tamamen test edilir.
Kullanarak olanlar için SharePoint listeleri ve uzun oluşturulan kimliği kullanmak istemiyorsanız, işe yarayacak:
var e = $('select[title="IntenalFieldName"] option:selected').text();
$("#selectID option:selected").text();
Bunun yerine, sınıfı kullanmak #selectID
gibi herhangi bir jQuery seçicisini kullanabilirsiniz .selectClass
.
Buradaki belgelerde belirtildiği gibi .
: Seçilen seçici <seçenek> öğeleri için çalışır. Onay kutuları veya radyo girişleri için çalışmaz; :checked
onlar için kullanın .
.text () Buradaki belgelere göre .
Her öğenin birleştirilmiş metin içeriğini, torunları da dahil olmak üzere eşleşen öğeler kümesinde edinin.
Böylece .text()
yöntemi kullanarak herhangi bir HTML öğesinden metin alabilirsiniz .
Daha ayrıntılı bir açıklama için belgelere bakın.
$("select[id=yourDropdownid] option:selected").text()
Bu iyi çalışıyor
JQuery'de Metin'i ve açılır menüde seçilen değeri seçin
$("#yourdropdownid").change(function() {
console.log($("option:selected", this).text()); //text
console.log($(this).val()); //value
})
Aşağıdaki kodu deneyin.
var text= $('#yourslectbox').find(":selected").text();
seçilen seçeneğin metnini döndürür.
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
var div = e.options[e.selectedIndex].text;
yapmayı denedim ve sadece ilk seçenek öğesini görüntüler. Her bir öğeyi nasıl görüntüleyebilirim?
aşağıdakiler benim için çalıştı:
$.trim($('#dropdownId option:selected').html())
Bu iş benim için:
$("#city :selected").text();
JQuery 1.10.2 kullanıyorum
Kardeş durumda
<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>
Deneyin:
$var = jQuery("#dropdownid option:selected").val();
alert ($var);
Veya seçeneğin metnini almak için şunu kullanın text()
:
$var = jQuery("#dropdownid option:selected").text();
alert ($var);
Daha fazla bilgi:
$("#dropdown").find(":selected").text();
$("#dropdown :selected").text();
$("#dropdown option:selected").text();
$("#dropdown").children(":selected").text();