Kode berikut berfungsi:
$("#select-id").change(function(){
var cur_value = $('#select-id option:selected').text();
. . .
});
Cara merefaktor baris kedua menjadi:
var cur_value = $(this).***option-selected***.text();
Apa yang Anda gunakan ***option-selected***
?
javascript
jquery
B Tujuh
sumber
sumber
$("option:selected", this)
seperti yang disebutkan di atas tetapi itu bermasalah. Saya menggunakan klik tombol untuk menambahkan teks elemen opsi yang dipilih ke div lain, tetapi ketika saya mengklik tombol, itu benar-benar mengubah elemen yang dipilih ... aneh. Gunakan yang ini.Cara terbaik dan terpendek menurut saya untuk acara onchange di dropdown untuk mendapatkan opsi yang dipilih:
$('option:selected',this);
untuk mendapatkan atribut nilai:
$('option:selected',this).attr('value');
untuk mendapatkan bagian yang ditampilkan di antara tag:
$('option:selected',this).text();
Dalam sampel Anda:
$("#select-id").change(function(){ var cur_value = $('option:selected',this).text(); });
sumber
.context
, ini sudah tidak digunakan lagi sejak jQuery 1.10 - api.jquery.com/category/deprecated/deprecated-1.10var cur_value = $('option:selected',this).text();
sumber
Ini harus bekerja:
$(this).find('option:selected').text();
sumber
Anda dapat menggunakan
find
untuk mencari opsi terpilih yang merupakan turunan dari node yang ditunjukkan oleh objek jQuery saat ini:var cur_value = $(this).find('option:selected').text();
Karena ini kemungkinan besar merupakan anak langsung, saya sebenarnya menyarankan untuk menggunakan
.children
sebagai gantinya:var cur_value = $(this).children('option:selected').text();
sumber
var cur_value = $(this).find('option:selected').text();
Karena
option
kemungkinan anak langsungselect
Anda juga dapat menggunakan:var cur_value = $(this).children('option:selected').text();
http://api.jquery.com/find/
sumber
option-selected
tanpa kutipan ...?find('option:selected')
mengembalikan string kosong untuk saya. Versi jQuery apa yang dibutuhkan? Saya bekerja di 1.6.1.children('option:selected')
berhasil.option:selected
telah ada sejak v1.0 api.jquery.com/selected-selectorTamu terbaik:
var cur_value = $('#select-id').children('option:selected').text();
Saya lebih menyukai anak-anak dalam hal ini karena Anda tahu Anda hanya akan turun satu cabang di pohon DOM ...
sumber
Hanya saja
$(this).val();
Saya pikir jQuery cukup pintar untuk mengetahui apa yang Anda butuhkan
sumber