जवाबों:
मुझे लगता है कि इस स्थिति के लिए सबसे आसान तरीका जाँच है:
$('.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।
Jsfiddle पर कोड उदाहरण ।
filterचेक बॉक्स, धन्यवाद ज्यादा के एक समूह के लिए एक अच्छा उपाय है।
आपके प्रश्न का भाग 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;
}
});
मैंने इसे अपने कोड में कैसे हासिल किया:
if($('.citiescheckbox:checked').length == $('.citiescheckbox').length){
$('.citycontainer').hide();
}else{
$('.citycontainer').show();
}
lengthयह एक मजेदार बात नहीं है जो मुझे लगता है कि आपका मतलब है ..size()