Saya mencoba untuk mengambil dan mengatur nilai yang dipilih dari elemen pilih (daftar turun bawah) dengan jQuery.
untuk retvel saya sudah mencoba $("#myId").find(':selected').val()
, $("#myId").val()
tetapi juga tetapi keduanya kembali tidak terdefinisi.
Setiap wawasan tentang masalah ini akan sangat dihargai.
Jawaban:
Cara Anda memilikinya benar saat ini. Entah id pilih tidak apa yang Anda katakan atau Anda memiliki beberapa masalah dalam dom.
Periksa Id elemen dan juga periksa validasi markup Anda di sini di W3c.
Tanpa dom yang valid, jQuery tidak dapat bekerja dengan benar dengan pemilih.
Jika id benar dan dom Anda divalidasi maka yang berikut ini berlaku:
Untuk Membaca Pilih Nilai Opsi
Untuk Menetapkan Nilai Pilihan Pilih
Untuk Membaca Teks yang Dipilih
sumber
untuk mendapatkan / mengatur propertiIndex yang dipilih aktual dari penggunaan elemen pilih:
sumber
.attr()
dan.prop()
tidak sama. Ini akan berfungsi dalam kasus tertentu di mana atribut juga merupakan properti, misalnya.attr('id')
sama dengan.prop('id')
. Dalam hal ini,.prop('selectedIndex')
sama dengan.get(0).selectedIndex
.$('#myId').val()
harus melakukannya, gagal kalau saya akan mencoba:sumber
Saat mengatur dengan
JQM
, jangan lupa untuk memperbaruiUI
:sumber
$("#myId").val()
harus bekerja jikamyid
id elemen pilih!Ini akan mengatur item yang dipilih:
$("#myId").val('VALUE');
sumber
Misalkan Anda telah membuat daftar Drop Down menggunakan tag SELECT seperti sebagai berikut,
Sekarang jika Anda ingin melihat berapa nilai yang dipilih dari drop-down menggunakan JQuery, cukup masukkan baris berikut untuk mengambil nilai itu ..
itu akan bekerja dengan baik.
sumber
Aku tahu ini sudah tua tapi aku hanya punya waktu bersama Razor, tidak bisa membuatnya bekerja tidak peduli seberapa keras aku berusaha. Tetap kembali sebagai "tidak terdefinisi" tidak masalah jika saya menggunakan "teks" atau "html" untuk atribut. Akhirnya saya menambahkan atribut "data-value" ke opsi dan bunyinya baik-baik saja.
sumber
$ ("opsi #myId: terpilih") .text (); akan memberi Anda teks yang Anda pilih di elemen tarik turun. dengan cara apa pun Anda dapat mengubahnya ke .val (); untuk mendapatkan nilai itu. periksa kode di bawah ini
sumber
Coba ini
sumber