Bagaimana kotak centang dapat dicentang / tidak dicentang menggunakan JavaScript, jQuery atau vanilla?
javascript
jquery
checkbox
lisovaccaro
sumber
sumber
Jawaban:
Javascript:
jQuery (1.6+):
jQuery (1.5-):
sumber
attr
atauprop
?.checked = true/false
tidak memicuchange
acara: - \Perilaku penting yang belum disebutkan:
Secara terprogram mengatur atribut yang dicentang , tidak memunculkan
change
event kotak centang .Lihat sendiri di biola ini:
http://jsfiddle.net/fjaeger/L9z9t04p/4/
(Fiddle diuji di Chrome 46, Firefox 41 dan IE 11)
The
click()
metodeSuatu hari Anda mungkin menemukan diri Anda menulis kode, yang bergantung pada acara yang dipecat. Untuk memastikan acara tersebut menyala, panggil
click()
metode elemen kotak centang, seperti ini:Namun, ini mengubah status kotak centang yang dicentang, alih-alih secara khusus mengaturnya ke
true
ataufalse
. Ingat bahwachange
acara hanya boleh diaktifkan, ketika atribut yang diperiksa benar-benar berubah.Ini juga berlaku untuk cara jQuery: mengatur atribut menggunakan
prop
atauattr
, tidak mem-change
event.Pengaturan
checked
ke nilai tertentuAnda bisa menguji
checked
atributnya, sebelum memanggilclick()
metode. Contoh:Baca lebih lanjut tentang metode klik di sini:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click
sumber
elm.dispatchEvent(new Event('change'));
untuk memeriksa:
untuk menghapus centang:
sumber
Kami dapat memeriksa kotak centang partikulat sebagai,
dan hapus centang oleh,
sumber
Saya ingin mencatat, bahwa pengaturan atribut 'diperiksa' ke string yang tidak kosong mengarah ke kotak centang.
Jadi, jika Anda menetapkan atribut 'dicentang' ke "false" , kotak centang akan diperiksa. Saya harus mengatur nilai ke string kosong, nol atau nilai boolean salah untuk memastikan kotak centang tidak dicentang.
sumber
Coba ini:
sumber
sumber
sumber
Jika, karena alasan tertentu, Anda tidak ingin (atau tidak bisa) menjalankan
.click()
elemen pada kotak centang, Anda cukup mengubah nilainya secara langsung melalui properti .checked-nya ( atribut IDL dari<input type="checkbox">
).Perhatikan bahwa hal tersebut tidak memecat peristiwa yang biasanya terkait ( perubahan ) sehingga Anda harus memecatnya secara manual untuk mendapatkan solusi lengkap yang berfungsi dengan penangan acara terkait.
Berikut ini contoh fungsional dalam javascript mentah (ES6):
Jika Anda menjalankan ini dan mengklik kotak centang dan tombol, Anda harus memahami cara kerjanya.
Perhatikan bahwa saya menggunakan document.querySelector untuk singkatnya / kesederhanaan, tetapi ini dapat dengan mudah dibangun untuk memiliki ID yang diberikan diteruskan ke konstruktor, atau itu bisa berlaku untuk semua tombol yang bertindak sebagai aria-label untuk kotak centang (perhatikan bahwa saya tidak repot-repot mengatur id pada tombol dan memberikan kotak centang aria-labelledby, yang harus dilakukan jika menggunakan metode ini) atau sejumlah cara lain untuk memperluas ini. Dua yang terakhir
addEventListener
hanya untuk mendemonstrasikan cara kerjanya.sumber
Untuk uji coba tunggal
untuk multi coba
Tampilkan cuplikan kode
sumber
Saya setuju dengan jawaban saat ini, tetapi dalam kasus saya itu tidak berfungsi, saya harap kode ini membantu seseorang di masa depan:
sumber