सभी अनियंत्रित चेकबॉक्स को 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

आप jQuery की कार्यक्षमता का विस्तार करके ऐसा कर सकते हैं। यह चयनकर्ता के लिए आपके द्वारा लिखे गए पाठ की मात्रा को छोटा कर देगा।

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

फिर आप $("input:unchecked")चेक किए गए सभी चेकबॉक्स और रेडियो बटन प्राप्त करने के लिए उपयोग कर सकते हैं।


7

साथ ही इसे शुद्ध js के साथ इस तरह से प्राप्त किया जा सकता है:

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();

यह सभी अनचेक किए गए चेकबॉक्स को पुनः प्राप्त करेगा और "chkAll" चेकबॉक्स को बाहर करेगा जिसे मैं चेक करने के लिए उपयोग करता हूं। सभी चेकबॉक्स को अनचेक करें। चूँकि मैं जानना चाहता हूँ कि मैं उस डेटाबेस को क्या मान रहा हूँ जो मैंने इन्हें बंद करने के लिए दिया था, क्योंकि चेकबॉक्स मुझे एक मूल्य देते हैं।

//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बॉक्स का उपयोग नहीं करता है तो इसका उल्लेख करने की क्या बात है।
MMM



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

1
StackOverflow में आपका स्वागत है! कृपया अपने कोड में एक स्पष्टीकरण जोड़ें, इसलिए अन्य उपयोगकर्ता (जिनके लिए यह वही हो सकता है जो वे खोज रहे हैं) जानते हैं कि आपका कोड क्या करता है।
नांदेर स्पेरस्ट्रा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.