Dapatkan nilai dropdown di jQuery

100

Saya memiliki drop-down yang memiliki Pasangan 'ID, Nama'.

Contoh

Jon Miller
Jim Smith
Jen Morsin

Jon MIller memiliki ID 101
Jim Smith memiliki ID 102
Jen Morsin memiliki ID 103

Saat saya melakukan followng:

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

dan saya memilih Jon Miller, saya mendapatkan 101. Saya ingin mendapatkan Jon Miller meskipun.

Nate Pet
sumber

Jawaban:

185

$('#Crd').val()akan memberi Anda nilai yang dipilih dari elemen drop-down. Gunakan ini untuk mendapatkan teks opsi yang dipilih.

$('#Crd option:selected').text();
ShankarSangoli
sumber
3
$ ('# Crd option: selected'). Text () or $ ('# Crd option: selected'). Val (), .text memberi Anda nilai teks yang ditampilkan, bukan nilai
patrick choi
$ ('# Opsi Crd: dipilih'). Val (); untuk nilai
asifaftab87
13

Cara terbaik adalah dengan menggunakan:

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

Bergantung pada kebutuhan, Anda juga bisa menggunakan cara ini:

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

Jika Anda menggunakan a <select>, .val()dapatkan 'nilai' dari yang dipilih <option>. Jika tidak memiliki value, mungkin fallback ke id. Masukkan nilai yang Anda inginkan untuk dikembalikan di valueatribut masing-masing<option>

Sunting: Lihat komentar untuk klarifikasi tentang apa valuesebenarnya (tidak harus sama dengan valueatribut).

Ansel Santosa
sumber
1
Sekadar klarifikasi, .val () mengembalikan properti nilai langsung, bukan nilai atribut HTML.
Chad
Benar. Namun tidak ada perbedaan praktis dalam kasus ini karena OP tampaknya tidak ingin mengubah valueapapun.
Ansel Santosa
2
.val() gets the 'value' attribute of the selected <option>, seperti yang saya katakan: hanya mengklarifikasi.
Chad
Bagaimana jika saya membutuhkan indeks atau id daripada teks?
bgmCoder
5

Ini berhasil untuk saya!

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

Semoga ini bisa membantu seseorang!

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

selectSal adalah sebuah kelas.

Akanksha Singh
sumber
3

Coba ini:

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

Pilihan lain:

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

Seperti yang telah ditunjukkan ... dalam sebuah selectkotak, .val()atributnya akan memberi Anda nilai dari opsi yang dipilih. Jika opsi yang dipilih tidak memiliki atribut nilai, itu akan menjadi default ke nilai tampilan opsi (yang merupakan contoh pada dokumentasi.val pertunjukan jQuery .

Anda ingin menggunakan .text()opsi yang dipilih:

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

lhagemann.dll
sumber
0

Ini memberi Anda nilai drop-down saat ini, jika drop-down memiliki ID "someId".

$("#someId").val();
jeswin
sumber
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
sumber
0

Lewati id dan tahan ke dalam variabel dan teruskan variabel di mana pun Anda inginkan.

var temp = $ ('pilih [nama = Nama ID]'). val ();

Abhijit Patra
sumber
$ ('pilih opsi [nama = Nama ID]: dipilih'). val (); Yang Ini Juga Bekerja
Abhijit Patra