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.