ฉันจะตรวจสอบว่าช่องทำเครื่องหมายทั้งหมดclass="abc"
ถูกเลือกได้อย่างไร?
ฉันต้องตรวจสอบทุกครั้งที่มีการตรวจสอบหรือไม่เลือก ฉันจะทำมันเมื่อคลิกหรือเปลี่ยน?
ฉันจะตรวจสอบว่าช่องทำเครื่องหมายทั้งหมดclass="abc"
ถูกเลือกได้อย่างไร?
ฉันต้องตรวจสอบทุกครั้งที่มีการตรวจสอบหรือไม่เลือก ฉันจะทำมันเมื่อคลิกหรือเปลี่ยน?
คำตอบ:
ฉันคิดว่าวิธีที่ง่ายที่สุดคือตรวจสอบสภาพนี้:
$('.abc:checked').length == $('.abc').length
คุณสามารถทำได้ทุกครั้งที่มีการทำเครื่องหมายในช่องใหม่:
$(".abc").change(function(){
if ($('.abc:checked').length == $('.abc').length) {
//do something
}
});
length
แต่ฉันไม่เคยลืมมันเป็นคุณสมบัติและไม่ใช่วิธีการ แก้ไขแล้ว
$('input.abc').not(':checked').length > 0
$('input.abc').not(':checked').length === 0
ดังนั้นรหัสที่ถูกต้องคือ
คุณสามารถใช้ได้ change()
$("input[type='checkbox'].abc").change(function(){
var a = $("input[type='checkbox'].abc");
if(a.length == a.filter(":checked").length){
alert('all checked');
}
});
ทั้งหมดนี้จะทำคือการตรวจสอบว่าจำนวนรวมของช่องทำเครื่องหมายตรงกับจำนวน.abc
.abc:checked
filter
เป็นทางออกที่ดีสำหรับกลุ่มของช่องทำเครื่องหมายขอบคุณมาก
$('.abc[checked!=true]').length == 0
ส่วนที่ 1 ของคำถามของคุณ:
var allChecked = true;
$("input.abc").each(function(index, element){
if(!element.checked){
allChecked = false;
return false;
}
});
แก้ไข:
คำตอบ (http://stackoverflow.com/questions/5541387/check-if-all-checkboxes-are-selected/5541480#5541480) ด้านบนน่าจะดีกว่า
เกณฑ์การค้นหาเป็นหนึ่งในสิ่งเหล่านี้:
input[type=checkbox].MyClass:not(:checked)
input[type=checkbox].MyClass:checked
คุณอาจต้องการเชื่อมต่อกับเหตุการณ์การเปลี่ยนแปลง
หรือคุณอาจใช้ทุก ๆ ():
// Cache DOM Lookup
var abc = $(".abc");
// On Click
abc.on("click",function(){
// Check if all items in list are selected
if(abc.toArray().every(areSelected)){
//do something
}
function areSelected(element, index, array){
return array[index].checked;
}
});
ทางออกที่เป็นอิสระในชั้นเรียน
var checkBox = 'input[type="checkbox"]';
if ($(checkBox+':checked').length == $(checkBox).length) {
//Do Something
}
นี่คือวิธีที่ฉันประสบความสำเร็จในรหัสของฉัน:
if($('.citiescheckbox:checked').length == $('.citiescheckbox').length){
$('.citycontainer').hide();
}else{
$('.citycontainer').show();
}
length
ไม่ funcion ฉันคิดว่าคุณหมายถึง ..size()