Baiklah, katakan saya punya ini:
<select id='list'>
<option value='1'>Option A</option>
<option value='2'>Option B</option>
<option value='3'>Option C</option>
</select>
Seperti apa pemilih itu jika saya ingin mendapatkan "Opsi B" ketika saya memiliki nilai '2'?
Harap dicatat bahwa ini bukan menanyakan bagaimana mendapatkan nilai teks yang dipilih , tetapi hanya salah satu dari mereka, apakah dipilih atau tidak, tergantung pada atribut nilai. Saya mencoba:
$("#list[value='2']").text();
Tapi itu tidak berhasil.
javascript
jquery
drop-down-menu
jquery-selectors
Paolo Bergantino
sumber
sumber
$("#list option").filter(function () { return $(this).html() == "stuff"; }).val();
Jawaban:
Ia mencari elemen dengan id
list
yang memiliki propertivalue
sama dengan2
.Yang Anda inginkan adalah
option
anak darilist
:sumber
$('#list option:selected').text()
$('#list').val()
.trim()
after.text()
karena beberapa browser terkadang menambahkan beberapa spasi sebelum dan sesudah teks yang tidak terlihat oleh pengguna tetapi bisa menyebabkan nilai yang salah$("#list option[value='2']").text().trim()
Jika Anda ingin mendapatkan opsi dengan nilai 2, gunakan
Jika Anda ingin mendapatkan opsi mana saja yang saat ini dipilih, gunakan
sumber
Ini berfungsi dengan baik untuk saya, saya sedang mencari cara untuk mengirim dua nilai berbeda dengan opsi yang dihasilkan oleh MySQL, dan berikut ini adalah generik dan dinamis:
$(this).find("option:selected").text();
Seperti yang disebutkan dalam salah satu komentar. Dengan ini saya dapat membuat fungsi dinamis yang berfungsi dengan semua kotak pilihan saya yang saya ingin dapatkan baik nilai, nilai opsi dan teks.
Beberapa hari yang lalu saya perhatikan bahwa ketika memperbarui jQuery dari 1,6 ke 1,9 dari situs saya menggunakan kode ini, ini berhenti berfungsi ... mungkin ada konflik dengan sepotong kode lain ... lagi pula, solusinya adalah menghapus opsi dari temukan () panggilan:
Itu solusi saya ... gunakan hanya jika Anda memiliki masalah setelah memperbarui jQuery Anda.
sumber
Berdasarkan HTML asli yang diposting oleh Paolo, saya menemukan yang berikut ini.
Telah diuji untuk berfungsi di Internet Explorer dan Firefox.
sumber
untuk beberapa nilai yang dipilih dalam
#list
elemen.sumber
Jika hanya ada satu tag pilih di halaman maka Anda dapat menentukan pilih di dalam id 'daftar'
Untuk mendapatkan teks yang dipilih
sumber
Coba yang berikut ini:
Alasan mengapa cuplikan asli Anda tidak berfungsi adalah karena
OPTION
tag Anda adalah anak-anak dariSELECT
tag Anda , yang memilikiid
list
.sumber
Ini adalah pertanyaan lama yang belum diperbarui dalam beberapa waktu cara yang benar untuk melakukan ini sekarang adalah dengan menggunakannya
Saya harap ini membantu :-)
sumber
Saya ingin mendapatkan label yang dipilih. Ini bekerja untuk saya di jQuery 1.5.1.
sumber
sumber
optgroup
tag sebagai anak Andaselect
dan opsi yang dipilih ada di sinioptgroup
. gunakan$("#list option:selected").text();
yang berfungsi bahkan dalam kasus inisisakan spasi setelah pemilih id.
sumber
Anda bisa mendapatkan teks opsi yang dipilih dengan menggunakan fungsi
.text();
Anda dapat memanggil fungsi seperti ini:
sumber
Sementara "perulangan" melalui elemen pilih yang dibuat secara dinamis dengan .each (fungsi () ...):
$("option:selected").text();
dan$(this + " option:selected").text()
tidak mengembalikan teks opsi yang dipilih - sebaliknya itu null.Tetapi solusi Peter Mortensen berhasil:
Saya tidak tahu mengapa cara biasa tidak berhasil dalam
.each()
(mungkin kesalahan saya sendiri), tetapi terima kasih, Peter. Saya tahu itu bukan pertanyaan awal, tetapi saya menyebutkan "untuk pemula yang datang melalui Google."Saya akan mulai dengan
$('#list option:selected").each()
kecuali saya perlu mengambil barang-barang dari elemen pilih juga.sumber
Menggunakan:
sumber
Saya sedang mencari val dengan nama bidang internal, bukan ID dan datang dari google ke posting ini yang membantu tetapi tidak menemukan solusi yang saya butuhkan, tapi saya mendapat solusinya dan ini dia:
Jadi ini mungkin membantu seseorang mencari nilai yang dipilih dengan nama internal bidang alih-alih menggunakan id panjang untuk daftar SharePoint:
sumber
Saya membutuhkan jawaban ini karena saya berurusan dengan objek yang dilemparkan secara dinamis, dan metode lain di sini sepertinya tidak berfungsi:
Ini tentu saja menggunakan objek DOM alih-alih parsing HTML-nya dengan nodeValue, childNodes, dll.
sumber
Kiat: Anda dapat menggunakan kode di bawah ini jika nilai Anda dinamis:
Atau (gaya yang lebih baik)
Seperti yang disebutkan dalam jQuery dapatkan teks tag opsi tertentu dan menempatkan variabel dinamis ke nilai
sumber
Sebagai solusi alternatif, Anda juga dapat menggunakan bagian konteks pemilih jQuery untuk menemukan
<option>
elemen denganvalue="2"
di dalam daftar dropdown:sumber
Saya ingin versi dinamis untuk beberapa pilihan yang akan menampilkan apa yang dipilih di sebelah kanan (berharap saya sudah membaca dan melihat
$(this).find
... sebelumnya):sumber
Anda bisa mendapatkan salah satu dari cara berikut
sumber