Pertanyaan jQuery mendapatkan teks tag opsi spesifik


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>

Apa yang akan terlihat seperti jika saya ingin mendapatkan "Opsi B" ketika saya memiliki nilai '2'?

Harap dicatat bahwa ini tidak menanyakan bagaimana cara mendapatkan terpilih nilai teks, tetapi hanya salah satu dari mereka, apakah dipilih atau tidak, tergantung pada atribut nilai. Saya mencoba:

$("#list[value='2']").text();

Tetapi itu tidak berhasil.


1137
2017-10-13 04:06


asal


Jawaban:


Ini mencari elemen dengan id list yang memiliki properti value sama dengan 2. Yang Anda inginkan adalah option anak dari list.

$("#list option[value='2']").text()

1051
2017-10-13 04:08



Jika Anda ingin mendapatkan opsi dengan nilai 2, gunakan

$("#list option[value='2']").text();

Jika Anda ingin mendapatkan opsi mana yang saat ini dipilih, gunakan

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

1238
2018-05-15 15:52



Ini bekerja dengan sempurna untuk saya, saya mencari cara untuk mengirim dua nilai yang berbeda dengan opsi yang dihasilkan oleh MySQL, dan yang berikut ini generik dan dinamis:

$(this).find("option:selected").text();

Seperti yang disebutkan di salah satu komentar. Dengan ini saya dapat membuat fungsi dinamis yang berfungsi dengan semua kotak pilihan saya sehingga saya ingin mendapatkan kedua 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 bekerja ... mungkin adalah konflik dengan potongan kode lain ... toh, solusinya adalah untuk menghapus opsi dari temukan () panggilan:

$(this).find(":selected").text();

Itu adalah solusi saya ... gunakan hanya jika Anda memiliki masalah setelah memperbarui jQuery Anda.


116
2017-07-29 18:55



Berdasarkan HTML asli diposting oleh Paolo saya datang dengan yang berikut.

$("#list").change(function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

Sudah diuji untuk bekerja di Internet Explorer dan Firefox.


107
2018-05-02 12:25



$("#list option:selected").each(function() {
   alert($(this).text());
});  

untuk beberapa nilai yang dipilih dalam #list elemen.


36
2018-06-04 14:30



  1. Jika hanya ada satu tag pilih di halaman maka Anda dapat menentukan pilih di dalam 'daftar' id

    jQuery("select option[value=2]").text();
    
  2. Untuk mendapatkan teks yang dipilih

    jQuery("select option:selected").text();
    

36
2018-06-13 03:45



Coba yang berikut ini:

$("#list option[value=2]").text();

Alasan mengapa cuplikan asli Anda tidak berfungsi adalah karena Anda OPTION tag adalah anak-anak Anda SELECT tag, yang memiliki id  list.


23
2017-10-13 04:08



Ini adalah Pertanyaan lama yang belum diperbarui dalam beberapa waktu cara yang benar untuk melakukan ini sekarang akan digunakan

$("#action").on('change',function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

Saya harap ini membantu :-)


19
2017-07-02 23:15



$(this).children(":selected").text()

17
2018-04-03 11:21



Saya ingin mendapatkan label yang dipilih. Ini berhasil bagi saya di jQuery 1.5.1.

$("#list :selected").text();

16
2018-03-01 05:44



$("#list [value='2']").text();

meninggalkan spasi setelah pemilih id.


13
2018-05-31 06:38