jquery এ সমস্ত চেক না হওয়া চেকবক্সটি সন্ধান করুন


197

আমার কাছে চেকবাক্সগুলির একটি তালিকা রয়েছে:

<input type="checkbox" name="answer" id="id_1' value="1" />
<input type="checkbox" name="answer" id="id_2' value="2" />
...
<input type="checkbox" name="answer" id="id_n' value="n" />

আমি চেক করা চেকবাক্সগুলির সমস্ত মান সংগ্রহ করতে পারি; আমার প্রশ্নটি কীভাবে চেক না করা চেকবক্সগুলির সমস্ত মান পেতে পারে? আমি চেষ্টা করেছিলাম:

$("input:unchecked").val();

একটি চেকড চেকবক্সের মান পেতে, তবে আমি পেয়েছি:

সিনট্যাক্স ত্রুটি, অচেনা অভিব্যক্তি: চেক করা হয়নি।

কেউ কি এই বিষয়ে আলোকপাত করতে পারেন? ধন্যবাদ!



উত্তর:


434

ত্রুটির বার্তাটি যেমন বলেছে, jQuery কোনও :uncheckedনির্বাচককে অন্তর্ভুক্ত করে না ।
পরিবর্তে, আপনাকে :checkedনির্বাচকটিকে উল্টাতে হবে :

$("input:checkbox:not(:checked)")

4
এবং ইনপুট [টাইপ = চেকবক্স] ব্যবহার করা দ্রুততম।
— jClark

29

$("input:checkbox:not(:checked)") আপনাকে চেক না করা বাক্সগুলি পাবেন।


10

আপনি jQuerys কার্যকারিতা বাড়িয়ে তা করতে পারেন। এটি নির্বাচকের জন্য আপনাকে যে পরিমাণ পাঠ্য লিখতে হবে তা হ্রাস করবে।

$.extend($.expr[':'], {
        unchecked: function (obj) {
            return ((obj.type == 'checkbox' || obj.type == 'radio') && !$(obj).is(':checked'));
        }
    }
);

তারপরে আপনি $("input:unchecked")চেক করা সমস্ত চেকবক্স এবং রেডিও বোতাম পেতে ব্যবহার করতে পারেন।


7

এছাড়াও এটি খাঁটি জেএস দিয়ে এভাবে অর্জন করা যায়:

var matches = document.querySelectorAll('input[type="checkbox"]:not(:checked)');

3
$("input[type='checkbox']:not(:checked):not('\#chkAll\')").map(function () { 
   var a = ""; 
   if (this.name != "chkAll") { 
      a = this.name + "|off"; 
   } 
   return a; 
}).get().join();

এটি সমস্ত চেক না করা চেকবক্সগুলি পুনরুদ্ধার করবে এবং আমি "চেকআল" চেকবাক্সকে বাদ দিবে যা আমি চেক করতে ব্যবহার করি | সমস্ত চেকবাক্স আনচেক করুন। যেহেতু চেকবক্সগুলি আমাকে একটি মান দেয় সেহেতু আমি যে ডেটাবেসগুলিতে এইগুলি সেট আপ করেছিলাম তা আমি কোন মানটি যাচ্ছি তা জানতে চাই।

//looking for unchecked checkboxes, but don’t include the checkbox all that checks or unchecks all checkboxes
//.map - Pass each element in the current matched set through a function, producing a new jQuery object containing the return values.

//.get - Retrieve the DOM elements matched by the jQuery object.
//.join - (javascript) joins the elements of an array into a string, and returns the string.The elements will be separated by a specified separator. The default separator is comma (,).

2
আপনি আপনার উত্তরে এমন কিছু অন্তর্ভুক্ত করবেন না যা ওপির জন্য সম্পূর্ণ অপ্রাসঙ্গিক। তিনি কোনও chkAllবাক্স ব্যবহার করেন না তাই এটির উল্লেখ করার কী দরকার।
— এমএমএম



0
$(".clscss-row").each(function () {
if ($(this).find(".po-checkbox").not(":checked")) {
               // enter your code here
            } });

1
স্ট্যাকওভারফ্লোতে আপনাকে স্বাগতম! দয়া করে আপনার কোডটিতে একটি ব্যাখ্যা যুক্ত করুন, সুতরাং অন্যান্য ব্যবহারকারীরা (যাদের জন্য তারা এটি খুঁজছেন তা হতে পারে) আপনার কোডটি কী করে তা জানে।
— নান্দার স্পিডসট্রা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.