Jadi bagaimana saya hanya mengizinkan pengguna untuk memilih hanya satu kotak centang?
Saya tahu tombol radio "ideal", tetapi untuk tujuan saya ... tidak.
Saya memiliki bidang di mana pengguna harus memilih salah satu atau dari dua opsi, tetapi tidak keduanya. Masalahnya adalah saya ingin pengguna saya juga dapat membatalkan pilihan mereka, dan di sinilah tombol radio gagal karena setelah Anda memilih grup, Anda harus memilih opsi.
Saya akan memvalidasi info melalui php, tetapi saya masih ingin membatasi pengguna ke satu jawaban jika mereka ingin memberikannya.
Jawaban:
Cuplikan ini akan:
sumber
.radio
pemilih akan membantu. Terima kasih telah menunjukkannya :)Anda ingin mengikat
change()
penangan sehingga kejadian akan diaktifkan ketika status kotak centang berubah. Kemudian, hapus saja semua kotak centang selain yang memicu penangan:Ini biola
Untuk pengelompokan, jika kotak centang Anda "grup" semuanya bersaudara:
Anda bisa melakukan ini:
Ini biola lain
Jika kotak centang Anda dikelompokkan berdasarkan atribut lain, seperti
name
:Anda bisa melakukan ini:
Ini biola lain
sumber
Tombol radio sangat ideal. Anda hanya perlu opsi ketiga "tidak ada" yang dipilih secara default.
sumber
Sudah ada beberapa jawaban untuk ini berdasarkan JS murni tetapi tidak ada yang cukup ringkas seperti yang saya inginkan.
Berikut adalah solusi saya berdasarkan penggunaan tag nama (seperti pada tombol radio) dan beberapa baris javascript.
sumber
Ini harus berfungsi untuk sejumlah kotak centang di formulir. Jika Anda memiliki orang lain yang bukan bagian dari grup, siapkan penyeleksi input yang berlaku.
sumber
Berikut adalah solusi HTML dan JavaScript sederhana yang saya sukai:
// js berfungsi untuk memungkinkan hanya memeriksa kotak centang satu hari kerja pada satu waktu:
sumber
Semoga kode ini membantu Anda.
Tautan kerja Klik di sini
sumber
Berdasarkan jawaban billyonecan , Anda dapat menggunakan kode berikut jika Anda memerlukan potongan itu untuk lebih dari satu kotak centang (dengan asumsi mereka memiliki nama yang berbeda).
sumber
Meskipun JS mungkin cara yang tepat, itu bisa dilakukan hanya dengan HTML dan CSS.
Di sini Anda memiliki tombol radio palsu yang sebenarnya merupakan label untuk tombol radio yang benar-benar tersembunyi. Dengan melakukan itu, Anda mendapatkan efek yang Anda butuhkan.
Lihat di sini: https://jsfiddle.net/tn70yxL8/2/
Sekarang, itu mengasumsikan Anda membutuhkan label yang tidak dapat dipilih.
Jika Anda ingin menyertakan label, secara teknis Anda dapat menghindari pengulangan label "hapus centang" dengan mengubah teksnya di CSS, lihat di sini: https://jsfiddle.net/7tdb6quy/2/
sumber
Contoh Dengan AngularJs
sumber
Dengan javascript lama biasa.
edit: juga mungkin
sumber
sumber
Jika seseorang membutuhkan solusi tanpa perpustakaan javascript eksternal, Anda dapat menggunakan contoh ini. Sekelompok kotak centang yang memungkinkan nilai 0..1. Anda dapat mengklik komponen kotak centang atau teks label terkait.
sumber
Versi saya: gunakan atribut data dan Vanilla JavaScript
sumber
Necromancing:
Dan tanpa jQuery, untuk struktur kotak centang seperti ini:
Anda akan melakukannya seperti ini:
sumber
sumber