Menggunakan jQuery, bagaimana Anda memeriksa apakah ada opsi yang dipilih di menu pilih, dan jika tidak, tentukan salah satu opsi sebagai yang dipilih.
(Pilih dihasilkan dengan labirin fungsi PHP di aplikasi yang baru saja saya warisi, jadi ini adalah perbaikan cepat sementara saya memikirkannya :)
javascript
jquery
forms
dom
html-select
meleyal
sumber
sumber
Jawaban:
Meskipun saya tidak yakin tentang apa yang ingin Anda capai, sedikit kode ini bekerja untuk saya.
sumber
$("#mySelect").val(3);
$("#mySelect option")[2]['selected'] = true;
Menemukannya setelah menyelidiki struktur objek di Firebug.$("#mySelect").prop("selectedIndex", 2)
Tidak perlu menggunakan jQuery untuk ini:
sumber
Pertanyaan ini sudah lama dan memiliki banyak pandangan, jadi saya hanya akan membuang beberapa hal di luar sana yang akan membantu beberapa orang yang saya yakin.
Untuk memeriksa apakah elemen pilih memiliki item yang dipilih:
atau untuk memeriksa apakah suatu pilihan tidak ada yang dipilih:
atau jika Anda berada dalam satu lingkaran semacam dan ingin memeriksa apakah elemen saat ini dipilih:
untuk memeriksa apakah suatu elemen tidak dipilih saat dalam satu lingkaran:
Ini adalah beberapa cara untuk melakukan ini. jQuery memiliki banyak cara berbeda untuk mencapai hal yang sama, jadi Anda biasanya memilih yang mana yang tampaknya paling efisien.
sumber
Jawaban lencioni adalah apa yang saya rekomendasikan. Anda dapat mengubah pemilih untuk opsi
('#mySelect option:last')
untuk memilih opsi dengan nilai tertentu menggunakan "#mySelect option[value='yourDefaultValue']
". Lebih lanjut tentang penyeleksi .Jika Anda bekerja secara luas dengan daftar pilih pada klien, periksa plugin ini: http://www.texotela.co.uk/code/jquery/select/ . Lihatlah sumbernya jika Anda ingin melihat beberapa contoh bekerja dengan daftar pilih.
sumber
Inilah fungsi saya mengubah opsi yang dipilih. Ini berfungsi untuk jQuery 1.3.2
sumber
sumber
Mudah! Defaultnya harus menjadi opsi pertama. Selesai!Itu akan membawa Anda ke JavaScript yang tidak mencolok, karena JavaScript tidak diperlukan :)
JavaScript yang tidak mengganggu
sumber
Saya sudah menemukan plugin texotela yang disebutkan, yang memungkinkan saya menyelesaikannya seperti ini:
sumber
Lihatlah indeks elemen yang dipilih
select
. BTW, itu masalah DOM biasa, bukan khusus JQuery.sumber
Ini adalah skrip cepat yang saya temukan yang berfungsi ... .Hasil diberikan pada label.
sumber
Kalian melakukan terlalu banyak untuk memilih. Cukup pilih berdasarkan nilai:
sumber
sumber
Saya menemukan cara yang baik untuk memeriksa, jika opsi dipilih dan pilih default ketika tidak.
Jika #some_select belum memilih opsi yang dipilih maka .val () tidak ditentukan
sumber
sumber
Ini adalah cara lain untuk memeriksa opsi yang dipilih atau tidak di jquery. Ini akan mengembalikan Boolean (Benar atau Salah).
[1] adalah indeks opsi kotak pilih
sumber
Ubah acara pada kotak pilih ke api dan setelah itu lakukan maka cukup tarik atribut id dari opsi yang dipilih: -
sumber
Saya hanya mencari sesuatu yang serupa dan menemukan ini:
Ini menemukan semua menu pilih di kelas yang belum memiliki opsi yang dipilih, dan memilih opsi default ("2" dalam kasus ini).
Saya mencoba menggunakan
:selected
alih-alih[selected]
, tetapi itu tidak berhasil karena sesuatu selalu dipilih, bahkan jika tidak ada yang memiliki atributsumber
Jika Anda perlu secara eksplisit memeriksa setiap opsi untuk melihat apakah ada yang memiliki atribut "terpilih" Anda dapat melakukan ini. Jika tidak menggunakan
option:selected
Anda akan mendapatkan nilai untuk opsi default pertama.sumber