Saya memiliki halaman HTML dengan beberapa kotak centang.
Saya perlu satu lagi kotak centang dengan nama "pilih semua". Ketika saya memilih kotak centang ini, semua kotak centang di halaman HTML harus dipilih. Bagaimana saya bisa melakukan ini?
javascript
html
checkbox
selectall
pengguna48094
sumber
sumber
CTRL+SHIFT+K
untuk membuka konsol, lalu tempel :$("input:checkbox").attr('checked', true)
dan tekanEnter
. Semua kotak centang pada halaman saat ini sekarang harus diperiksa. Untuk menghapus centang ubahTrue
keFalse
.Jawaban:
MEMPERBARUI:
The
for each...in
membangun tampaknya tidak bekerja, setidaknya dalam hal ini, di Safari 5 atau Chrome 5. Kode ini harus bekerja di semua browser:sumber
for(var i in checkboxes) checkboxes[i].checked = source.checked
berfungsi di semua browser.for in
dengan koleksi atau array, n=checkboxes.length;i<n
bukan hanyai < checkboxes.length
? Pokoknya, untuk membuat fungsi generik (penggunaan kembali kode), berikan parameter tambahan:(source, checkboxes_name)
dan lakukandocument.getElementsByName(checkboxes_name);
Ini lebih baik daripada meng-coding-kan nama dan membuat fungsi spesifik untuk satu set kotak centang tertentu.for(let checkbox of checkboxes)
.Menggunakan jQuery :
HTML:
sumber
Saya tidak yakin ada yang belum menjawab dengan cara ini (menggunakan jQuery ):
Ini bersih, tidak memiliki loop atau jika klausa lain dan berfungsi sebagai pesona.
sumber
Untuk membatalkan pilihan:
sumber
this.checked
sajaSaya terkejut tidak ada yang disebutkan
document.querySelectorAll()
. Solusi JavaScript murni, bekerja di IE9 +.sumber
Demo http://jsfiddle.net/H37cb/
sumber
attr()
metode yang saya kira. mengubahnya keprop()
Versi sedikit berubah yang memeriksa dan menghapus centang dengan hormat
sumber
Saat Anda menelepon
document.getElementsByName("name")
, Anda akan mendapatkanObject
. Gunakan.item(index)
untuk melintasi semua item aObject
HTML:
sumber
sumber
Solusi sederhana saya memungkinkan untuk secara selektif memilih / membatalkan pilihan semua kotak centang di bagian tertentu dari formulir , sambil menggunakan nama yang berbeda untuk setiap kotak centang, sehingga mereka dapat dengan mudah dikenali setelah formulir diposkan.
Javascript:
Contoh HTML:
Saya harap Anda menyukainya!
sumber
Coba JQuery sederhana ini:
sumber
$(':checkbox').prop('checked', this.checked)
, tidak perlu untuk bersyarat.JavaScript adalah taruhan terbaik Anda. Tautan di bawah ini memberikan contoh menggunakan tombol untuk membatalkan / memilih semua. Anda dapat mencoba untuk mengadaptasinya menggunakan kotak centang, cukup gunakan Anda 'pilih semua' kotak centang 'pada atribut Klik.
Fungsi Javascript untuk Memeriksa atau Hapus centang semua Kotak Centang
Halaman ini memiliki contoh yang lebih sederhana
http://www.htmlcodetutorial.com/forms/_INPUT_onClick.html
sumber
Sampel ini berfungsi dengan JavaScript asli di mana nama variabel kotak centang bervariasi, yaitu tidak semua "foo".
sumber
getcheckboxes
fungsi Anda dapat diganti dengandocument.querySelectorAll('input[type=checkbox]');
sumber
yang seharusnya melakukan pekerjaan:
sumber
sumber
Menggunakan jQuery dan sistem gugur:
Dengan kotak centang utama yang mengikat ini tetap selaras dengan kotak centang yang mendasari, kotak centang ini tidak akan dicentang kecuali semua kotak centang dicentang.
dalam html:
sumber
Anda mungkin memiliki beberapa set kotak centang pada formulir yang sama . Berikut adalah solusi yang memilih / membatalkan pilihan kotak centang berdasarkan nama kelas, menggunakan dokumen fungsi vanilla javascript.getElementsByClassName
Tombol Pilih Semua
Beberapa kotak centang untuk dipilih
Javascript
sumber
Inilah yang akan dilakukan, misalnya jika Anda memiliki 5 kotak centang, dan Anda mengklik centang semua, centang semua, sekarang jika Anda hapus centang semua kotak centang mungkin dengan mengklik masing-masing 5 kotak centang, pada saat Anda menghapus centang pada kotak centang terakhir, pilih semua kotak centang juga tidak dicentang
sumber
Karena saya tidak dapat berkomentar, di sini sebagai jawaban: Saya akan menulis solusi Can Berk Güder dengan cara yang lebih umum, sehingga Anda dapat menggunakan kembali fungsi untuk kotak centang lainnya
sumber
Jika mengadopsi jawaban teratas untuk jquery, ingatlah bahwa objek yang diteruskan ke fungsi klik adalah EventHandler, bukan objek kotak centang asli. Oleh karena itu kode harus dimodifikasi sebagai berikut.
Html
Javascript
sumber
Berikut ini adalah implementasi backbone.js:
sumber
html
javascript
sumber
1: Tambahkan Handler acara onchange
2: Memodifikasi kode untuk menangani dicentang / tidak dicentang
sumber
Metode di bawah ini sangat Mudah dimengerti dan Anda bisa mengimplementasikan formulir yang ada dalam hitungan menit
dalam bentuk HTML taruh di bawah tombol
dalam bentuk HTML taruh di bawah tombol
sumber
Anda dapat menggunakan kode sederhana ini
sumber
untuk membuatnya dalam versi tangan pendek dengan menggunakan jQuery
Kotak centang pilih semua
Kotak centang anak-anak
jQuery
sumber
Mungkin agak terlambat, tetapi ketika berhadapan dengan kotak centang centang semua, saya yakin Anda juga harus menangani skenario ketika Anda mencentang semua kotak centang, dan kemudian hapus centang pada salah satu kotak centang di bawah ini.
Dalam hal ini harus secara otomatis menghapus centang pada kotak centang centang semua.
Juga ketika secara manual memeriksa semua kotak centang, Anda akan berakhir dengan mencentang semua kotak centang secara otomatis dicentang.
Anda memerlukan dua penangan acara, satu untuk kotak centang semua, dan satu untuk ketika mengklik salah satu kotak di bawah ini.
sumber
Sederhana dan ke POINT:
jQuery - Setelah Mengklik tombol atau div atau elemen label. Centang semua kotak centang pada halaman. Ingatlah bahwa Anda harus menyesuaikan: centang untuk membuatnya lebih spesifik.
sumber