সমস্ত চেকবক্স নির্বাচন করা হয়েছে কিনা তা পরীক্ষা করে দেখুন


139

সমস্ত চেকবক্স class="abc"নির্বাচন করা আছে কিনা তা আমি কীভাবে চেক করব ?

আমি যখনই তাদের মধ্যে একটির চেক বা চেক না করা হয়েছে ততবারই এটি পরীক্ষা করা দরকার। আমি কি ক্লিক বা পরিবর্তন এ এটি না?

উত্তর:


257

আমি মনে করি সবচেয়ে সহজ উপায়টি এই শর্তটি পরীক্ষা করা:

$('.abc:checked').length == $('.abc').length

আপনি যখনই নতুন চেকবক্সটি পরীক্ষা করে থাকেন এটি আপনি করতে পারেন:

$(".abc").change(function(){
    if ($('.abc:checked').length == $('.abc').length) {
       //do something
    }
});

2
lengthআমি মনে করি আপনি বলতে size()
চাইছেন এমন কোনও ফানসিওন

3
ধন্যবাদ @TheSuperTramp! আমি বলতে চাইছিলাম length, তবে আমি এটি কোনও সম্পত্তি নয় একটি পদ্ধতি ভুলে যেতে কখনই ব্যর্থ হই না। সংশোধন করা হয়েছে
cbrandolino

97
$('input.abc').not(':checked').length > 0

2
নিখুঁত, পরিষ্কার এবং মার্জিত সমাধান। "যদি ($ ('ইনপুট.এবসি')। না (": চেক করা ")। দৈর্ঘ্য) {...} "ও কাজ করে।
স্কোরুনকা ফ্রান্টিয়েক

1
উত্তরটি সঠিক নয়। কোনও চেকবাক্স চেক করা আছে কিনা তা এটি পরীক্ষা করছে। কিন্তু প্রশ্ন হচ্ছে চেক যদি সব চেকবাক্সগুলি নির্বাচিত থাকলে । তাই সঠিক কোড হল: $('input.abc').not(':checked').length === 0
এইচএলসিএস

1
আপনি যদি পারফরম্যান্স বিবেচনা করেন তবে এই উত্তর গৃহীত উত্তরের চেয়ে ভাল। এটি দু'বার পরিবর্তে একবার লুপ করবে।
মার্টেন কিফট

15

তুমি ব্যবহার করতে পার 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 উপর কোড উদাহরণ ।


সত্যিই নিশ্চিত নয় কেন, তবে আমার দৈর্ঘ্য আমাকে 8 এর মান দেয় যখন আমার কাছে কেবল 4 টি চেকবক্স রয়েছে।
সান্টা

filterচেকবাক্সগুলি, ধন্যবাদ অনেক একটি দলের জন্য একটি ভাল সমাধান।
সামগ্রিকদূকা


3

আপনার প্রশ্নের অংশ 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) সম্ভবত আরও ভাল।


1

অনুসন্ধানের মানদণ্ড এর মধ্যে একটি:

input[type=checkbox].MyClass:not(:checked)
input[type=checkbox].MyClass:checked

আপনি সম্ভবত পরিবর্তন ইভেন্টের সাথে সংযোগ করতে চান।


1

বিকল্পভাবে, আপনি প্রতিটি () ব্যবহার করতে পারেন:

// 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;
    }
});

1

একটি শ্রেণীর স্বাধীন সমাধান

var checkBox = 'input[type="checkbox"]';
if ($(checkBox+':checked').length == $(checkBox).length) {
   //Do Something
}

1

এইভাবে আমি আমার কোডটিতে এটি অর্জন করেছি:

if($('.citiescheckbox:checked').length == $('.citiescheckbox').length){
    $('.citycontainer').hide();
}else{
    $('.citycontainer').show();
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.