Bagaimana saya bisa mendapatkan teks yang dipilih (bukan nilai yang dipilih) dari daftar drop-down di jQuery?
Bagaimana saya bisa mendapatkan teks yang dipilih (bukan nilai yang dipilih) dari daftar drop-down di jQuery?
Jawaban:
$("#yourdropdownid option:selected").text();
$("#yourdropdownid").children("option").filter(":selected").text()
karena is () mengembalikan boolean apakah objek cocok dengan pemilih atau tidak.
is("selected").text()
mengembalikan aTypeError: Object false has no method 'text'
$('select').children(':selected')
adalah cara tercepat: jsperf.com/get-selected-option-text
Coba ini:
$("#myselect :selected").text();
Untuk dropdown ASP.NET Anda dapat menggunakan pemilih berikut:
$("[id*='MyDropDownId'] :selected")
("#ct0001yourdropdownid)
ID
kontrol Anda, dan jika tidak maka berdasarkan pada indeks di mana mereka muncul di tingkat pohon saat ini, dll. )
Jawaban yang diposting di sini, misalnya,
$('#yourdropdownid option:selected').text();
tidak bekerja untuk saya, tetapi ini berhasil:
$('#yourdropdownid').find('option:selected').text();
Ini mungkin versi jQuery yang lebih lama.
Jika Anda sudah memiliki dropdownlist yang tersedia dalam suatu variabel, inilah yang berfungsi untuk saya:
$("option:selected", myVar).text()
Jawaban lain pada pertanyaan ini membantu saya, tetapi akhirnya forum jQuery utas $ (opsi + "ini: terpilih"). Attr ("rel") opsi yang dipilih tidak bekerja di IE paling membantu.
Pembaruan: memperbaiki tautan di atas
Ini bekerja untuk saya
$("#dropdownid").change(function() {
alert($(this).find("option:selected").text());
});
Jika elemen dibuat secara dinamis
$(document).on("change", "#dropdownid", function() {
alert($(this).find("option:selected").text());
});
$("#dropdownID").change(function(){
alert($('option:selected', $(this)).text());
});
$(this)
setelah panggilan ajax saya
Gunakan ini
const select = document.getElementById("yourSelectId");
const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;
Kemudian Anda mendapatkan nilai dan teks yang Anda pilih di dalam selectedValue
dan selectedText
.
var someName = "Test";
$("#<%= ddltest.ClientID %>").each(function () {
$('option', this).each(function () {
if ($(this).text().toLowerCase() == someName) {
$(this).attr('selected', 'selected')
};
});
});
Itu akan membantu Anda mendapatkan arah yang benar. Kode di atas sepenuhnya diuji jika Anda memerlukan bantuan lebih lanjut, beri tahu saya.
Bagi mereka yang menggunakan daftar SharePoint dan tidak ingin menggunakan id lama, ini akan berfungsi:
var e = $('select[title="IntenalFieldName"] option:selected').text();
$("#selectID option:selected").text();
Alih-alih #selectID
Anda dapat menggunakan pemilih jQuery apa pun, seperti .selectClass
menggunakan kelas.
Seperti disebutkan dalam dokumentasi di sini .
Selektor yang dipilih: berfungsi untuk elemen <option>. Ini tidak berfungsi untuk kotak centang atau input radio; gunakan :checked
untuk mereka.
.text () Sesuai dokumentasi di sini .
Dapatkan konten teks gabungan dari setiap elemen dalam set elemen yang cocok, termasuk turunannya.
Jadi, Anda dapat mengambil teks dari elemen HTML apa pun menggunakan .text()
metode ini.
Lihat dokumentasi untuk penjelasan yang lebih dalam.
$("select[id=yourDropdownid] option:selected").text()
Ini berfungsi dengan baik
Pilih Teks dan nilai yang dipilih pada dropdown / pilih ubah acara di jQuery
$("#yourdropdownid").change(function() {
console.log($("option:selected", this).text()); //text
console.log($(this).val()); //value
})
Cukup coba kode berikut.
var text= $('#yourslectbox').find(":selected").text();
mengembalikan teks dari opsi yang dipilih.
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
var div = e.options[e.selectedIndex].text;
, dan itu hanya menampilkan item opsi pertama. Bagaimana cara agar setiap item ditampilkan?
berikut ini bekerja untuk saya:
$.trim($('#dropdownId option:selected').html())
Ini bekerja untuk saya:
$("#city :selected").text();
Saya menggunakan jQuery 1.10.2
Dalam kasus saudara kandung
<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>
Mencoba:
$var = jQuery("#dropdownid option:selected").val();
alert ($var);
Atau untuk mendapatkan teks opsi, gunakan text()
:
$var = jQuery("#dropdownid option:selected").text();
alert ($var);
Info lebih lanjut: