Kotak centang adalah komponen input mendasar yang biasanya diwakili oleh kotak kosong dalam keadaan tidak dipilih dan kotak dengan tanda centang (karenanya nama kotak centang) saat dipilih. Mereka digunakan untuk mewakili pilihan boolean, masing-masing berkorelasi dengan pilihan nilai.
Mengelola kotak centang dalam HTML, khususnya
menggunakan JavaScript dan jQuery bisa tampak agak tidak wajar. Saya berharap untuk menyelesaikan masalah umum yang mungkin Anda alami dengan tutorial ini.
Kotak centang baik digunakan saat Anda perlu mengumpulkan pilihan benar/salah (boolean) atau beberapa nilai dari daftar opsi.
Tombol radio menawarkan metafora pemilihan boolean yang serupa, tetapi
digunakan ketika ada satu pilihan yang tersedia dalam daftar.
Ada dua kasus penggunaan umum untuk kotak centang:
Saat Anda Membutuhkan Konfirmasi atau Pengakuan, misalnya mengakui persyaratan penggunaan
Ketika Beberapa Nilai Dapat Menjawab Satu Pertanyaan
Kotak centang digunakan untuk contoh di mana pengguna mungkin ingin memilih
beberapa opsi, seperti dalam contoh centang semua pertanyaan yang berlaku. Kotak Centang HTML Dipilih. Elemen kotak centang dapat ditempatkan ke halaman web dengan cara yang telah dicentang sebelumnya dengan menyetel atribut yang dicentang dengan nilai ya.
HTML yang Benar Untuk Membuat Kotak Centang
Tampaknya ada kebingungan tentang cara yang tepat atau benar untuk menulis html kotak centang. Saya juga pernah ke sana, jadi saya berempati dengan semua orang.
Sejauh
antarmuka pengguna kotak centang, Anda harus menyertakan kotak centang dan elemen label, dalam urutan itu. Ini secara alami akan menempatkan kotak centang di sebelah kiri label.
Jika Anda perlu menukar pesanan mereka, Anda bisa dengan menukar html mereka atau menggunakan CSS. Namun, saya akan mengingatkan Anda lagi bahwa kecuali Anda tahu Anda dapat menjaga kotak centang terkait atau dikelompokkan secara horizontal.
Secara alami kotak centang adalah target kecil, yang untuk desktop
dan mouse adalah normal, tetapi di ponsel saat ini, sentuhan dunia pertama bisa menjadi masalah.
Kabar baiknya adalah Anda dapat menghubungkan label kotak centang ke kotak centang, memperluas area yang dapat ditindaklanjuti yang dapat diklik atau disentuh pengguna untuk mengaktifkan status centang.
Ini dilakukan dengan menambahkan atribut 'nama' atau 'id' ke elemen kotak centang dan atribut 'untuk' yang sesuai ke label. Label untuk nilai atribut harus cocok dengan nama kotak centang
atau nilai id.
Nilai Properti atau Atribut
Secara terprogram Anda bisa mendapatkan nilai saat ini atau memeriksa status dari properti nilai, yang juga merupakan atribut. Nilai tidak benar atau salah, meskipun sifat kotak centang adalah untuk menunjukkan apakah suatu nilai dipilih atau tidak.
var btnSubscribe = document.getElementById('btnSubmitSubscribe'); btnSubscri
#javascript #tutorial #html #managing
love2dev.com
Kotak centang adalah komponen input mendasar yang biasanya diwakili oleh kotak kosong dalam
keadaan tidak dipilih dan kotak dengan tanda centang (karenanya nama kotak centang) saat dipilih.
Bagaimana cara menerapkan kotak centang "pilih semua" dalam HTML?
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?
The for each...inmembangun tampaknya tidak bekerja, setidaknya dalam hal ini, di Safari 5 atau Chrome 5. Kode ini harus bekerja di semua browser:
function toggle(source){
checkboxes = document.getElementsByName('foo');for(var i=0, n=checkboxes.length;i<n;i++){
checkboxes[i].checked = source.checked;}}
Menggunakan jQuery :
// Listen for click on toggle checkbox
$('#select-all').click(function(event){if(this.checked){// Iterate each checkbox
$(':checkbox').each(function(){this.checked =true;});}else{
$(':checkbox').each(function(){this.checked =false;});}});
Ini bersih, tidak memiliki
loop atau jika klausa lain dan berfungsi sebagai pesona.
Untuk membatalkan pilihan:
$('#select_all').click(function(event){if(this.checked){// Iterate each checkbox
$(':checkbox').each(function(){this.checked =true;});}else{
$(':checkbox').each(function(){this.checked =false;});}});
Saya terkejut tidak ada yang disebutkan document.querySelectorAll(). Solusi JavaScript murni,
bekerja di IE9 +.
function toggle(source){var checkboxes = document.querySelectorAll('input[type="checkbox"]');for(var i =0; i < checkboxes.length; i++){if(checkboxes[i]!= source)
checkboxes[i].checked = source.checked;}}
<html><head><script type="text/javascript">function do_this(){var checkboxes = document.getElementsByName('approve[]');var button = document.getElementById('toggle');if(button.value =='select'){for(var i in checkboxes){
checkboxes[i].checked ='FALSE';}
button.value ='deselect'}else{for(var i in checkboxes){
checkboxes[i].checked ='';}
button.value ='select';}}script>head><body><input type="checkbox" name="approve[]" value="1"/><input type="checkbox" name="approve[]" value="2"/><input type="checkbox" name="approve[]" value="3"/><input type="button" id="toggle" value="select" onClick="do_this()"/>body>html>
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:
function setAllCheckboxes(divId, sourceCheckbox){
divElement = document.getElementById(divId);
inputElements = divElement.getElementsByTagName('input');for(i =0; i < inputElements.length; i++){if(inputElements[i].type !='checkbox')continue;
inputElements[i].checked = sourceCheckbox.checked;}}
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.
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
function selectAll(){var blnChecked = document.getElementById("select_all_invoices").checked;var check_invoices = document.getElementsByClassName("check_invoice");var intLength = check_invoices.length;for(var i =0; i < intLength; i++){var check_invoice = check_invoices[i];
check_invoice.checked = blnChecked;}}
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
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
<script language="JavaScript">function toggleCheckboxes(source, cbName){
checkboxes = document.getElementsByName(cbName);for(var i =0, n = checkboxes.length; i < n; i++){
checkboxes[i].checked = source.checked;}}script>
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.
2: Memodifikasi kode untuk menangani dicentang / tidak dicentang
function checkAll(ele){var checkboxes = document.getElementsByTagName('input');if(ele.checked){for(var i =0; i < checkboxes.length; i++){if(checkboxes[i].type =='checkbox'){
checkboxes[i].checked =true;}}}else{for(var i =0; i < checkboxes.length; i++){
console.log(i)if(checkboxes[i].type =='checkbox'){
checkboxes[i].checked =false;}}}}
Metode di bawah ini sangat Mudah dimengerti dan Anda bisa mengimplementasikan formulir yang ada dalam hitungan menit
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.
// HANDLES THE INDIVIDUAL CHECKBOX CLICKSfunction client_onclick(){var selectAllChecked = $("#chk-clients-all").prop("checked");// IF CHECK ALL IS CHECKED, AND YOU'RE UNCHECKING AN INDIVIDUAL BOX, JUST UNCHECK THE CHECK ALL CHECKBOX.if(selectAllChecked && $(this).prop("checked")==false){
$("#chk-clients-all").prop("checked",false);}else{// OTHERWISE WE NEED TO LOOP THROUGH INDIVIDUAL CHECKBOXES AND SEE IF THEY ARE ALL CHECKED, THEN CHECK THE SELECT ALL CHECKBOX ACCORDINGLY.var allChecked =true;
$(".client").each(function(){
allChecked = $(this).prop("checked");if(!allChecked){returnfalse;}});
$("#chk-clients-all").prop("checked", allChecked);}}// HANDLES THE TOP CHECK ALL CHECKBOXfunction client_all_onclick(){
$(".client").prop("checked", $(this).prop("checked"));}
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.
Fungsi tag input type checkbox dalam Pembuatan Form HTML
Tag Input type checkbox berfungsi untuk membuat checkbox atau kotak isian yang diisi dengan cara menceklist kotak tersebut.
Apa itu tag input?
HTML elemen tag <input> merupakan tag pada HTML yang digunakan untuk menciptakan bidang formulir yang memungkinkan pengguna dalam memasukkan entry data. HTML elemen tag <input> memiliki jenis dan bentuk yang bervariasi sesuai dengan kebutuhan dan nilai data yang terkandung di dalamnya.