Bagaimana saya bisa memeriksa apakah kotak centang dalam array kotak centang dicentang menggunakan id dari array kotak centang?
Saya menggunakan kode berikut, tetapi selalu mengembalikan jumlah kotak centang yang dicentang terlepas dari id.
function isCheckedById(id) {
alert(id);
var checked = $("input[@id=" + id + "]:checked").length;
alert(checked);
if (checked == 0) {
return false;
} else {
return true;
}
}
javascript
jquery
html
checkbox
Jake
sumber
sumber
id
unik!name
dapat (dan harus, dalam hal ini) mengulangi, tetapi Anda akan menemukan banyak hal aneh terjadi jika Anda menduplikasiid
! = DJawaban:
ID harus unik dalam dokumen Anda, artinya Anda tidak boleh melakukan ini:
Alih-alih, letakkan ID, lalu pilih menurut nama, atau dengan elemen yang mengandung:
Dan sekarang jQuery:
sumber
$('#checkArray :checkbox:checked').length > 0;
ketika karya yang lebih sederhana$('#checkArray').checked
dan tersedia di versi yang lebih banyak?var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;
Itu mendapat jika kotak centang dicentang.
Untuk larik kotak centang dengan nama yang sama Anda bisa mendapatkan daftar yang dicentang dengan:
Kemudian untuk mengulanginya dan melihat apa yang diperiksa dapat Anda lakukan:
Untuk menemukan berapa banyak yang diperiksa, Anda dapat melakukan:
sumber
$('#'+id).attr('checked')
, yang setara dengan$('#' + id).is(":checked")
tetapi lebih mudah diingat IMO..attr('checked')
. Perilakunya berubah di jQuery 1.6. Dulu untuk mengembalikanfalse
atautrue
. Sekarang kembaliundefined
atau"checked"
..is(':checked')
tidak memiliki masalah ini.$('.ClassName').is(':checked')
sepertinya tidak berhasil tetapi$('#' + id).is(":checked")
tidak? selain dari fakta bahwa seseorang mencari id dan satu dengan nama kelas.Kode di atas mengembalikan true jika kotak centang dicentang atau salah jika tidak.
sumber
var isChecked = $('#CheckboxID').attr('checked') ? true : false;
tetapi tidak selalu mengembalikan nilai yang benar. Jadi terima kasih!Semua metode berikut bermanfaat:
Disarankan bahwa DOMelement atau inline "this.checked" harus dihindari sebagai gantinya jQuery pada metode harus digunakan pendengar acara.
sumber
kode jQuery untuk memeriksa apakah kotak centang dicentang atau tidak:
Kalau tidak:
sumber
:
... satu yang benar adalah:if(('input[name="checkBoxName"]').is(':checked'))
.if($('input[name="checkBoxName"]').is(':checked'))
.else
blok, karena objek jQuery, bahkan jika tidak mengandung elemen yang cocok, adalah "benar". Tambahkan.length
ke akhir, lalu Anda berbicara.Semua metode di bawah ini dimungkinkan
sumber
Anda dapat menggunakan kode ini,
sumber
Sesuai dokumentasi jQuery ada beberapa cara berikut untuk memeriksa apakah kotak centang dicentang atau tidak. Mari kita mempertimbangkan kotak centang misalnya (Periksa Kerja jsfiddle dengan semua contoh)
Contoh 1 - Dengan dicentang
Contoh 2 - Dengan jQuery adalah, CATATAN -: dicentang
Contoh 3 - Dengan jQuery prop
Periksa jsfiddle Bekerja
sumber
Anda dapat mencoba ini:
sumber
attr
hanya mencerminkan nilai atribut dalam HTML, bukan nilai properti di DOM. Lihat dokumentasi untukattr
, di mana dikatakan "Untuk mengambil dan sifat perubahan DOM sepertichecked
,selected
ataudisabled
keadaan unsur-unsur bentuk, menggunakan.prop()
metode.", Dan dokumentasi untukprop
, di mana dikatakan "The.prop()
Metode harus digunakan untuk setdisabled
danchecked
sebaliknya dari.attr()
metode."Anda dapat menggunakan salah satu kode yang direkomendasikan berikut ini oleh jquery.
sumber
Saya tahu OP ingin jquery tetapi dalam kasus saya JS murni adalah jawabannya jadi jika orang seperti saya ada di sini dan tidak memiliki jquery atau tidak ingin menggunakannya - di sini adalah jawaban JS:
Mengembalikan nilai true jika input dengan ID myCheck dicentang dan false jika tidak dicentang.
Sederhana seperti itu.
sumber
$("#myCheck")[0].checked
akan bekerja di jquery! : DAnda bisa melakukannya seperti;
Biola yang Bekerja
HTML
jQuery
atau bahkan lebih sederhana;
Jika
checkbox
dicentang itu akan mengembalikantrue
sebaliknyaundefined
sumber
or even simpler;
->$("#checkbox").checked
Ini juga merupakan ide yang sering saya gunakan:
Jika cheked, itu akan mengembalikan 1; jika tidak maka akan mengembalikan 0.
sumber
Demo sederhana untuk memeriksa dan mengatur kotak centang.
jsfiddle !
sumber
Hanya untuk mengatakan dalam contoh saya situasinya adalah kotak dialog yang kemudian memverifikasi kotak centang sebelum menutup dialog. Tak satu pun dari di atas dan Bagaimana memeriksa apakah kotak centang dicentang di jQuery? dan jQuery jika kotak centang dicentang ternyata juga tidak berfungsi.
Pada akhirnya
Ini berhasil sehingga memanggil kelas kemudian ID. bukan hanya ID. Mungkin karena elemen DOM bersarang di halaman ini yang menyebabkan masalah. Solusinya ada di atas.
sumber
Untuk kotak centang dengan id
Anda bisa melakukannya
Anda akan mendapatkan
true
ataufalse
sebagai nilai pengembalian untuk sintaks di atas. Anda dapat menggunakannya di jika klausa sebagai ekspresi boolean normal.sumber
Sesuatu seperti ini dapat membantu
sumber
Sebenarnya, menurut jsperf.com , operasi DOM adalah yang tercepat, kemudian $ (). Prop () diikuti oleh $ (). Is () !!
Berikut adalah sintaksisnya:
Saya pribadi lebih suka
.prop()
. Tidak seperti itu.is()
, ini juga dapat digunakan untuk mengatur nilai.sumber
Centang kotak centang
sumber
Dengan menggunakan kode ini Anda dapat memeriksa setidaknya satu kotak centang dipilih atau tidak dalam kelompok kotak centang yang berbeda atau dari beberapa kotak centang. Dengan ini, Anda tidak perlu menghapus ID atau ID dinamis. Kode ini berfungsi dengan ID yang sama.
Tautan Referensi
sumber
Karena ini pertengahan 2019 dan jQuery terkadang mengambil kursi belakang untuk hal-hal seperti VueJS, React dll. Berikut adalah opsi pendengar onload vanilla Javascript murni:
sumber
Pertanyaan Anda tidak jelas: Anda ingin memberikan "id array kotak centang" pada input dan mendapatkan
true/false
output - dengan cara ini Anda tidak akan tahu kotak centang mana yang diperiksa (seperti yang disarankan nama fungsi Anda). Jadi di bawah ini ada proposisi badan sayaisCheckedById
yang menerima input checkboxid
dan return kembalitrue/false
(ini sangat sederhana tapi ID Anda tidak boleh kata kunci),Tampilkan cuplikan kode
sumber
gunakan kode di bawah ini
sumber
$(function() { $("[id$='chkSendMail']").on("change", ShowMailSection); });
$("[id$='chkSendMail']:checked]")
harus bekerja dengan baik