JQuery के साथ एक चेकबॉक्स के लिए "जाँच" सेट करना


4127

मैं jQuerycheckbox का उपयोग करने के लिए कुछ इस तरह करना चाहूंगा :

$(".myCheckBox").checked(true);

या

$(".myCheckBox").selected(true);

क्या ऐसी किसी वस्तु का अस्तित्व है?


एक और अधिक विशिष्ट (और बहुत उपयोगी!) सवाल, "मैं किसी आइटम को चेकबॉक्स द्वारा निर्धारित वैल्यू में कैसे जांचता हूं?", मुझे लगता है कि हम यहां भी चर्चा कर सकते हैं, और मैंने नीचे एक उत्तर पोस्ट किया है।
पीटर क्रस

JQuery का उपयोग करके इसे करने के अन्य तरीकों की जाँच करें यहाँ stackoverflow.com/a/22019103/1868660
सुबोध घुलाक्से

यदि आपको $("#mycheckbox").click();
ऑनकॉन्ग

"कुछ जाँचना" इसका परीक्षण करने का सुझाव देता है, इसलिए मुझे लगता है कि 'चेकिंग चेकबॉक्स बनाना' अधिक स्पष्ट और बेहतर शीर्षक है।
एलिरेज़ा

सहारा (); फ़ंक्शन सही उत्तर है। फ़ंक्शन की परिभाषा देखें - api.jquery.com/prop
yogihosting

जवाबों:


5967

आधुनिक jQuery

उपयोग करें .prop():

$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);

डोम एपीआई

यदि आप सिर्फ एक तत्व के साथ काम कर रहे हैं, तो आप हमेशा अंतर्निहित तक पहुँच सकते हैं HTMLInputElementऔर इसकी .checkedसंपत्ति को संशोधित कर सकते हैं:

$('.myCheckbox')[0].checked = true;
$('.myCheckbox')[0].checked = false;

इसके बजाय .prop()और .attr()विधियों का उपयोग करने का लाभ यह है कि वे सभी मिलान तत्वों पर काम करेंगे।

jQuery 1.5.x और नीचे

.prop()विधि ताकि आप उपयोग करने की आवश्यकता, उपलब्ध नहीं है .attr()

$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);

ध्यान दें कि यह संस्करण 1.6 से पहले jQuery के यूनिट परीक्षणों द्वारा उपयोग किया जाता है और $('.myCheckbox').removeAttr('checked');बाद की इच्छाशक्ति के बाद से उपयोग करने के लिए बेहतर है , अगर बॉक्स की शुरुआत में जाँच की गई थी, तो कॉल के व्यवहार .reset()को किसी भी रूप में बदल दें जिसमें यह शामिल है - एक सूक्ष्म लेकिन शायद अवांछित व्यवहार परिवर्तन।

अधिक संदर्भ के लिए, checked1.5.x से 1.6 तक संक्रमण में गुण / संपत्ति की हैंडलिंग के परिवर्तनों की कुछ अधूरी चर्चा संस्करण 1.6 जारी नोटों में और दस्तावेज़ के गुण बनाम गुण अनुभाग में पाई जा सकती है ।.prop()


26
@ Xian जाँच की गई विशेषता को हटाने से फॉर्म को रीसेट करना असंभव हो जाता है
mcgrailm

6
एक साइड नोट के रूप में, jQuery 1.6.1 को मेरे द्वारा बताई गई समस्या को ठीक करना चाहिए, इसलिए हम तहनिक रूप से सभी अभी भी $ (...) प्रोप का उपयोग करने के लिए वापस जा सकते हैं (...)
cwharris

19
"यदि आप केवल एक तत्व के साथ काम कर रहे हैं, तो यह हमेशा उपयोग करने के लिए सबसे तेज़ होगा DOMElement.checked = true"। लेकिन यह नगण्य होगा, क्योंकि यह केवल एक तत्व है ...
टायलर क्रॉम्पटन

46
जैसा कि टायलर कहते हैं, यह प्रदर्शन में एक नगण्य सुधार है। मेरे लिए, एक सामान्य एपीआई का उपयोग करके कोडिंग देशी एपीआई और jQuery एपीआई को मिलाकर अधिक पठनीय बनाता है। मैं jQuery के साथ रहना होगा।
चार्ली कियान

18
@ टायलरक्रॉम्पटन - बेशक, यह पूरी तरह से प्रदर्शन के बारे में नहीं है, लेकिन ऐसा $(element).prop('checked')करना पूरी तरह से बेकार है। element.checkedमौजूद है और उन मामलों में उपयोग किया जाना चाहिए जहां आपके पास पहले से ही हैelement
gnarf

704

उपयोग:

$(".myCheckbox").attr('checked', true); // Deprecated
$(".myCheckbox").prop('checked', true);

और अगर आप चेकबॉक्स चेक करना चाहते हैं या नहीं,

$('.myCheckbox').is(':checked');

4
यह भी $ (चयनकर्ता) .चेक करने के लिए जाँच की जाती है
eomeroff

6
मैंने इस सटीक कोड की कोशिश की और यह मेरे लिए कुछ चुनिंदा / चुनिंदा चेकबॉक्स के मामले में काम नहीं आया, जिन्हें चेक करने और अनचेक करने के साथ-साथ उनके राज्य की जाँच करने की आवश्यकता है। इसके बजाय, मैंने @Christopher हैरिस के जवाब की कोशिश की और वह चाल चली।
जेडी स्मिथ

केवल "#mycheckbox" के बजाय "फ़ॉर्म #mycheckbox" का उपयोग क्यों करें? आईडी पूरे दस्तावेज में पहले से ही अद्वितीय है, इसे सीधे लेने के लिए तेज और सरल है।
यूरीअल्बुकर्क

@ यूरीअल्बुकर्क यह एक उदाहरण था। आप जो भी चयनकर्ता चाहते हैं उसका उपयोग कर सकते हैं।
बछन

5
$ (चयनकर्ता) .checked काम नहीं करता है। JQuery में कोई 'जांची गई' विधि नहीं है।
ब्रेंडन बर्ड

318

के रूप में यह पार मंच मानक है, और यह, जाँच और jQuery के साथ चेक बॉक्स को अनचेक का सही तरीका है जाएगा प्रपत्र reposts अनुमति देते हैं।

$('.myCheckBox').each(function(){ this.checked = true; });

$('.myCheckBox').each(function(){ this.checked = false; });

ऐसा करने से, आप चेकबॉक्स को चेक और अनचेक करने के लिए जावास्क्रिप्ट मानकों का उपयोग कर रहे हैं, इसलिए कोई भी ब्राउज़र जो चेकबॉक्स तत्व की "चेक की गई" संपत्ति को ठीक से लागू करता है, इस कोड को त्रुटिपूर्ण रूप से चलाएगा। यह सभी प्रमुख ब्राउज़र होने चाहिए , लेकिन मैं इंटरनेट एक्सप्लोरर 9 के पिछले परीक्षण में असमर्थ हूं।

समस्या (jQuery 1.6):

एक बार जब कोई उपयोगकर्ता चेकबॉक्स पर क्लिक करता है, तो वह चेकबॉक्स "चेक किए गए" विशेषता परिवर्तनों का जवाब देना बंद कर देता है।

यहां चेकबॉक्स विशेषता का एक उदाहरण है कि कोई व्यक्ति चेकबॉक्स पर क्लिक करने के बाद काम करने में विफल है (यह क्रोम में होता है)।

बेला

समाधान:

DOM तत्वों पर JavaScript की "चेक की गई" संपत्ति का उपयोग करके , हम DOM को हेरफेर करने की कोशिश करने के बजाय सीधे समस्या को हल करने में सक्षम हैं जो हम इसे करना चाहते हैं।

बेला

यह प्लगइन jQuery द्वारा चुने गए किसी भी तत्व की जाँच की गई संपत्ति को बदल देगा, और सभी परिस्थितियों में सफलतापूर्वक जाँच और चेकबॉक्स को अनचेक कर देगा। तो, जबकि यह एक अति-असर समाधान की तरह लग सकता है, यह आपकी साइट के उपयोगकर्ता के अनुभव को बेहतर बना देगा, और उपयोगकर्ता की हताशा को रोकने में मदद करेगा।

(function( $ ) {
    $.fn.checked = function(value) {
        if(value === true || value === false) {
            // Set the value of the checkbox
            $(this).each(function(){ this.checked = value; });
        } 
        else if(value === undefined || value === 'toggle') {
            // Toggle the checkbox
            $(this).each(function(){ this.checked = !this.checked; });
        }

        return this;
    };
})( jQuery );

वैकल्पिक रूप से, यदि आप एक प्लगइन का उपयोग नहीं करना चाहते हैं, तो आप निम्न कोड स्निपेट का उपयोग कर सकते हैं:

// Check
$(':checkbox').prop('checked', true);

// Un-check
$(':checkbox').prop('checked', false);

// Toggle
$(':checkbox').prop('checked', function (i, value) {
    return !value;
});

5
अपने पहले JSFiddle उदाहरण में आप के removeAttr('checked')बजाय का उपयोग किया जाना चाहिएattr('checked', false)
डैनियल एक्स मूर

4
@DanielXMoore, आप इस मुद्दे के बारे में बात कर रहे हैं। उदाहरण यह दिखाना था कि एक बार जब उपयोगकर्ता द्वारा चेक-बॉक्स पर क्लिक किया गया था, तो ब्राउज़र अब checkedविशेषता परिवर्तनों के प्रति प्रतिक्रिया नहीं देता है , भले ही उन्हें बदलने के लिए उपयोग की जाने वाली विधि की परवाह किए बिना
cwharris

3
@ChristopherHarris ठीक है, तुम सही हो, मुझे याद है। हालांकि jQuery 1.6 के रूप में आपको .prop विधि का उपयोग नहीं करना चाहिए? $('.myCheckBox').prop('checked', true)इस तरह यह स्वचालित रूप से मिलान किए गए तत्वों के पूरे सेट पर लागू होगा (केवल तब जब सेटिंग, हालांकि, अभी भी केवल पहली है)
डैनियल एक्स मूर

हाँ। propकिसी तत्व पर विशेषताएँ सेट करने के लिए निश्चित रूप से उपयुक्त तरीका है।
cwharris

@ChristopherHarris, मैंने कुछ पैरामीटर लचीलेपन की अनुमति देने के लिए प्लगइन में जो कुछ भी आवश्यक है उसे जोड़ा है। इस प्रकार के रूपांतरण के बिना इनलाइन प्रसंस्करण आसान हो गया। क्या "सच" है के बारे में 'विचारों' के साथ डेटाबेस से एस्प। फिडल: jsfiddle.net/Cyberjetx/vcp96
जो जॉन्सटन

147

तुम कर सकते हो

$('.myCheckbox').attr('checked',true) //Standards compliant

या

$("form #mycheckbox").attr('checked', true)

यदि आपके पास चेकबॉक्स के लिए ऑनक्लिक ईवेंट में कस्टम कोड है, जिसे आप फायर करना चाहते हैं, तो इसके बजाय इसका उपयोग करें:

$("#mycheckbox").click();

आप पूरी तरह से विशेषता को हटाकर अनचेक कर सकते हैं:

$('.myCheckbox').removeAttr('checked')

आप इस तरह से सभी चेकबॉक्स की जांच कर सकते हैं:

$(".myCheckbox").each(function(){
    $("#mycheckbox").click()
});

आप $ भी जा सकते हैं ("# myTable इनपुट: चेकबॉक्स")। प्रत्येक (...);
क्रिस ब्रांड्समा

आप भी जा सकते हैं$(".myCheckbox").click()
रॉबर्टपिट

3
@ मिचा को हटाकर चेक की गई विशेषता को फॉर्म को रीसेट करना असंभव है
mcgrailm

12
यह उत्तर आउट-ऑफ़-डेट है क्योंकि यह .attrइसके बजाय उपयोग करता है .prop
ब्लेज़मॉन्गर

$("#mycheckbox").click();मेरे लिए काम किया, जैसा कि मैंने परिवर्तन घटना को भी सुन रहा था और .attrऔर .propआग परिवर्तन घटना नहीं किया।
दामोदर बाश्याल

80

आप नए तरीकों के साथ $ .fn ऑब्जेक्ट का विस्तार भी कर सकते हैं:

(function($)  {
   $.fn.extend({
      check : function()  {
         return this.filter(":radio, :checkbox").attr("checked", true);
      },
      uncheck : function()  {
         return this.filter(":radio, :checkbox").removeAttr("checked");
      }
   });
}(jQuery));

तो आप बस कर सकते हैं:

$(":checkbox").check();
$(":checkbox").uncheck();

या यदि आप उन नामों का उपयोग करने वाले कुछ अन्य लाइब्रेरी का उपयोग करते हैं, तो आप उन्हें mycheck () और myuncheck () जैसे अधिक विशिष्ट नाम देना चाह सकते हैं।


5
@ livfree75 चेक की गई विशेषता को हटाने से फॉर्म को रीसेट करना असंभव हो जाता है
mcgrailm

5
यह उत्तर आउट-ऑफ़-डेट है क्योंकि यह .attrइसके बजाय उपयोग करता है .prop
ब्लेज़मॉन्गर

64
$("#mycheckbox")[0].checked = true;
$("#mycheckbox").attr('checked', true);
$("#mycheckbox").click();

आखिरी चेकबॉक्स के लिए क्लिक इवेंट को फायर करेगा, अन्य नहीं करेंगे। इसलिए यदि आपके पास चेकबॉक्स के लिए ऑनक्लिक ईवेंट में कस्टम कोड है जिसे आप फायर करना चाहते हैं, तो पिछले एक का उपयोग करें।


4
शीर्ष एक फेल हो जाएगा ... चेक किया गया एक jquery वस्तु सदस्य नहीं है
redsquare

5
यह उत्तर आउट-ऑफ़-डेट है क्योंकि यह .attrइसके बजाय उपयोग करता है .prop
ब्लेज़मॉन्गर

IMO clickइवेंट फ़ायरफ़ॉक्स और एज में अविश्वसनीय है।
वाहिद अमीरी

62

एक चेकबॉक्स की जांच करने के लिए आपको उपयोग करना चाहिए

 $('.myCheckbox').attr('checked',true);

या

 $('.myCheckbox').attr('checked','checked');

और चेक बॉक्स को अनचेक करने के लिए आपको हमेशा इसे गलत पर सेट करना चाहिए:

 $('.myCheckbox').attr('checked',false);

यदि तुम करो

  $('.myCheckbox').removeAttr('checked')

यह सभी को एक साथ हटाता है और इसलिए आप फॉर्म को रीसेट नहीं कर पाएंगे।

बीएड डेमो jQuery 1.6 । मुझे लगता है कि यह टूट गया है। 1.6 के लिए मैं उस पर एक नई पोस्ट बनाने जा रहा हूं।

नया काम करने वाला डेमो jQuery 1.5.2 क्रोम में काम करता है।

दोनों डेमो का उपयोग करते हैं

$('#tc').click(function() {
    if ( $('#myCheckbox').attr('checked')) {
        $('#myCheckbox').attr('checked', false);
    } else {
        $('#myCheckbox').attr('checked', 'checked');
    }
});

1
यह गलत है। 'चेक की गई विशेषता' को 'सेट' करने से कम से कम क्रोम में चेक बॉक्स अनचेक नहीं होंगे ।
cwharris

@xixonia मैंने परीक्षण किया था इससे पहले कि मैंने आपकी फ़ेल्ड पोस्ट की, काम नहीं करता क्योंकि आपने बाईं ओर मेनू को jquery शामिल करने के लिए नहीं बदला
mcgrailm

1
mcgralim - 1.6 में इसका और भी आसान .... $(".mycheckbox").prop("checked", true/false)
gnarf

2
@MarkAmery आपने उल्लेख किया कि मेरे पोस्ट ने पोस्ट के समय कुछ भी नहीं जोड़ा है लेकिन यह सटीक है। यदि आप स्वीकृत उत्तर के इतिहास को देखते हैं, तो आप पाएंगे कि वे तत्व को हटाने का सुझाव देते हैं। इससे फॉर्म को रीसेट करना असंभव हो जाता है, यही कारण है कि मैंने इसके साथ शुरुआत करने के लिए पोस्ट किया था।
mcgrailm

1
@mcgrailm मैंने आगे बढ़कर आपकी टिप्पणियों के प्रकाश में स्वीकृत उत्तर को संशोधित किया है। यदि आप इस पर नज़र डालना चाहते हैं और यह जाँचना चाहते हैं कि यह अपनी वर्तमान स्थिति में अच्छा लग रहा है, तो मैं इसकी सराहना करूँगा। मेरी आलोचना फिर से तेज आलोचना की पेशकश करने के लिए, जो कम से कम भाग में, अत्यधिक गुमराह थी।
मार्क अमेरी

51

यह उन तत्वों का चयन करता है, जिनमें निर्दिष्ट विकल्प "ckbItem" वाले मान के साथ निर्दिष्ट विशेषता है:

$('input[name *= ckbItem]').prop('checked', true);

यह उन सभी तत्वों का चयन करेगा जिनमें ckbItem है।


46

यह मानते हुए कि यह प्रश्न है ...

मैं एक चेकबॉक्स-सेट की जांच कैसे करूं VALUE द्वारा ?

याद रखें कि एक सामान्य चेकबॉक्स सेट में, सभी इनपुट टैग का एक ही नाम होता है, वे विशेषता से भिन्न होते हैंvalue हैं: सेट के प्रत्येक इनपुट के लिए कोई आईडी नहीं होती है।

कोड की निम्न पंक्ति का उपयोग करके जियान के उत्तर को और अधिक विशिष्ट चयनकर्ता के साथ बढ़ाया जा सकता है :

$("input.myclass[name='myname'][value='the_value']").prop("checked", true);

45

मुझे हल याद आ रहा है। मैं हमेशा उपयोग करूँगा:

if ($('#myCheckBox:checked').val() !== undefined)
{
    //Checked
}
else
{
    //Not checked
}

3
यह प्रश्न का उत्तर नहीं देता है (प्रश्न यह निर्धारित करने के बारे में है कि क्या एक चेकबॉक्स चेक किया गया है, यह निर्धारित नहीं कि क्या चेकबॉक्स चेक किया गया है)। यह निर्धारित करने का एक बहुत ही बदसूरत तरीका है अगर चेकबॉक्स की जाँच की जाती है (एक बात के लिए, आप गैर-स्व-स्पष्ट तथ्य का शोषण कर रहे हैं जो .val()हमेशा undefined0 तत्वों पर कॉल करने पर वापस आएगा जब यह पता लगाने के लिए कि jQuery ऑब्जेक्ट खाली है, जब आप कर सकते हैं इसके .lengthबजाय बस इसकी जांच करें ) - अधिक पढ़ने योग्य दृष्टिकोण के लिए stackoverflow.com/questions/901712/… देखें ।
मार्क ऐमी

42

JQuery 1.6 या उच्चतर का उपयोग करके एक चेकबॉक्स की जांच करने के लिए बस ऐसा करें:

checkbox.prop('checked', true);

अनचेक करने के लिए, उपयोग करें:

checkbox.prop('checked', false);

यहाँ मुझे jQuery का उपयोग करके एक चेकबॉक्स को चालू करने के लिए उपयोग करने के लिए क्या पसंद है:

checkbox.prop('checked', !checkbox.prop('checked'));

यदि आप jQuery 1.5 या उससे कम का उपयोग कर रहे हैं :

checkbox.attr('checked', true);

अनचेक करने के लिए, उपयोग करें:

checkbox.attr('checked', false);

37

यहाँ jQuery के बिना इसे करने का एक तरीका है

function addOrAttachListener(el, type, listener, useCapture) {
  if (el.addEventListener) {
    el.addEventListener(type, listener, useCapture);
  } else if (el.attachEvent) {
    el.attachEvent("on" + type, listener);
  }
};

addOrAttachListener(window, "load", function() {
  var cbElem = document.getElementById("cb");
  var rcbElem = document.getElementById("rcb");
  addOrAttachListener(cbElem, "click", function() {
    rcbElem.checked = cbElem.checked;
  }, false);
}, false);
<label>Click Me!
  <input id="cb" type="checkbox" />
</label>
<label>Reflection:
  <input id="rcb" type="checkbox" />
</label>


31

यहाँ एक बटन के साथ चेक और अनचेक किया गया कोड है:

var set=1;
var unset=0;
jQuery( function() {
    $( '.checkAll' ).live('click', function() {
        $( '.cb-element' ).each(function () {
            if(set==1){ $( '.cb-element' ).attr('checked', true) unset=0; }
            if(set==0){ $( '.cb-element' ).attr('checked', false); unset=1; }
        });
        set=unset;
    });
});

अपडेट: यहां नया Jquery 1.6+ प्रोप विधि का उपयोग करके समान कोड ब्लॉक है, जो attr को प्रतिस्थापित करता है:

var set=1;
var unset=0;
jQuery( function() {
    $( '.checkAll' ).live('click', function() {
        $( '.cb-element' ).each(function () {
            if(set==1){ $( '.cb-element' ).prop('checked', true) unset=0; }
            if(set==0){ $( '.cb-element' ).prop('checked', false); unset=1; }
        });
        set=unset;
    });
});

4
यह उत्तर आउट-ऑफ़-डेट है क्योंकि यह .attrइसके बजाय उपयोग करता है .prop
ब्लेज़मॉन्गर

30

इसे इस्तेमाल करे:

$('#checkboxid').get(0).checked = true;  //For checking

$('#checkboxid').get(0).checked = false; //For unchecking

29

elementObjectविशेषता की जाँच के लिए हम jQuery के साथ उपयोग कर सकते हैं :

$(objectElement).attr('checked');

हम बिना किसी त्रुटि के सभी jQuery के संस्करणों के लिए इसका उपयोग कर सकते हैं।

अद्यतन: Jquery 1.6+ में नई प्रोप विधि है जो एटर को प्रतिस्थापित करती है, जैसे:

$(objectElement).prop('checked');

2
यह उत्तर आउट-ऑफ़-डेट है क्योंकि यह .attrइसके बजाय उपयोग करता है .prop
ब्लेज़मॉन्गर

25

यदि आप PhoneGap एप्लिकेशन विकास का उपयोग कर रहे हैं , और आपके पास बटन पर एक मूल्य है जिसे आप तुरंत दिखाना चाहते हैं, तो यह करना याद रखें

$('span.ui-[controlname]',$('[id]')).text("the value");

मैंने पाया कि स्पैन के बिना, इंटरफ़ेस कोई फर्क नहीं पड़ता कि आप क्या करते हैं।


25

यहाँ कई चेक बॉक्स की जाँच करने के लिए कोड और डेमो है ...

http://jsfiddle.net/tamilmani/z8TTt/

$("#check").on("click", function () {

    var chk = document.getElementById('check').checked;
    var arr = document.getElementsByTagName("input");

    if (chk) {
        for (var i in arr) {
            if (arr[i].name == 'check') arr[i].checked = true;
        }
    } else {
        for (var i in arr) {
            if (arr[i].name == 'check') arr[i].checked = false;
        }
    }
});

- 1; jQuery के चयनकर्ताओं $("#check")को कच्चे डोम एपीआई कॉल के साथ मिलाना document.getElementsByTagName("input")मेरे लिए असंगत लगता है, विशेष रूप से यह देखते हुए कि forयहां के लूपों का उपयोग करने से बचा जा सकता है .prop()। भले ही यह एक और देर से उत्तर है कि नया कुछ नहीं जोड़ता है।
मार्क ऐमी


19

जैसा @ livefree75 ने कहा:

jQuery 1.5.x और नीचे

आप नए तरीकों के साथ $ .fn ऑब्जेक्ट का विस्तार भी कर सकते हैं:

(function($)  {
   $.fn.extend({
      check : function()  {
         return this.filter(":radio, :checkbox").attr("checked", true);
      },
      uncheck : function()  {
         return this.filter(":radio, :checkbox").removeAttr("checked");
      }
   });
}(jQuery));

लेकिन jQuery के नए संस्करणों में, हमें कुछ इस तरह का उपयोग करना होगा:

jQuery 1.6+

    (function($)  {
       $.fn.extend({
          check : function()  {
             return this.filter(":radio, :checkbox").prop("checked", true);
          },
          uncheck : function()  {
             return this.filter(":radio, :checkbox").prop("checked",false);
          }
       });
    }(jQuery));

तो आप बस कर सकते हैं:

    $(":checkbox").check();
    $(":checkbox").uncheck();

18

यदि मोबाइल का उपयोग कर रहे हैं और आप चाहते हैं कि इंटरफ़ेस अपडेट हो और चेकबॉक्स को अनियंत्रित दिखाया जाए, तो निम्न का उपयोग करें:

$("#checkbox1").prop('checked', false).checkboxradio("refresh");

18

इंटरनेट एक्सप्लोरर 9 से पहले इंटरनेट एक्सप्लोरर में मेमोरी लीक के बारे में पता होना चाहिए , क्योंकि jQuery के प्रलेखन राज्यों में :

संस्करण 9 से पहले के इंटरनेट एक्सप्लोरर में, .प्रॉप () एक साधारण आदिम मूल्य (संख्या, स्ट्रिंग, या बूलियन) के अलावा किसी भी अन्य के लिए एक डोम तत्व संपत्ति सेट करने के लिए स्मृति लीक का कारण बन सकती है यदि संपत्ति को हटाया नहीं जाता है (उपयोग करते हुए ।removeProp। )) डॉम तत्व को दस्तावेज़ से हटाने से पहले। मेमोरी लीक के बिना डोम ऑब्जेक्ट्स पर सुरक्षित रूप से मान सेट करने के लिए, .data () का उपयोग करें।


2
यह अप्रासंगिक है, क्योंकि सभी (सही) उत्तर उपयोग करते हैं .prop('checked',true)
ब्लेज़मॉन्गर

मुझे यकीन नहीं है कि मैं आपकी टिप्पणी को समझ पाया हूँ। यह अभी भी jQuery प्रलेखन में मौजूद है। क्या आप यह आरोप लगा रहे हैं कि IE <9 में कोई मेमोरी लीक नहीं है?
नूर

2
इस मामले में कोई स्मृति रिसाव नहीं है, क्योंकि हम इसे एक साधारण आदिम मूल्य (बूलियन) पर सेट कर रहे हैं
ब्लेज़मॉन्गर

18

JQuery के लिए 1.6+

$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);

JQuery के लिए 1.5.x और नीचे

$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);

जाँच करने के लिए,

$('.myCheckbox').removeAttr('checked');

17

जाँच और अनचेक करने के लिए

$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);

3
- 1; यह पहले से ही फूला हुआ धागा के लिए कोई मूल्य नहीं जोड़ता है। यहाँ कोड बिलकुल स्वीकृत उत्तर के समान है।
मार्क अमेरी डे

16
$('controlCheckBox').click(function(){
    var temp = $(this).prop('checked');
    $('controlledCheckBoxes').prop('checked', temp);
});

4
- केवल एक कोड-केवल उत्तर होने के लिए, सीधे प्रश्न का उत्तर नहीं देना, और कुछ भी नहीं जोड़ना जो अन्य उत्तर पहले से ही कवर नहीं किए गए थे।
मार्क अमेरी डे

15

यह शायद सबसे छोटा और आसान उपाय है:

$(".myCheckBox")[0].checked = true;

या

$(".myCheckBox")[0].checked = false;

इससे भी छोटा होगा:

$(".myCheckBox")[0].checked = !0;
$(".myCheckBox")[0].checked = !1;

यहाँ एक jsFiddle भी है।


14

सादा जावास्क्रिप्ट बहुत सरल है और बहुत कम ओवरहेड है:

var elements = document.getElementsByClassName('myCheckBox');
for(var i = 0; i < elements.length; i++)
{
    elements[i].checked = true;
}

यहाँ उदाहरण है


@MarkAmery स्वीकृत उत्तर कवर नहीं करता है कि इसे jQuery के बिना कैसे किया जाए। मेरा उत्तर स्वीकृत उत्तर में पूरक लाभ जोड़ता है।
एलेक्स डब्ल्यू

13

मैं इसका उपयोग कर काम नहीं कर सका:

$("#cb").prop('checked', 'true');
$("#cb").prop('checked', 'false');

सही और गलत दोनों चेकबॉक्स की जाँच करेंगे। मेरे लिए क्या काम था:

$("#cb").prop('checked', 'true'); // For checking
$("#cb").prop('checked', '');     // For unchecking

16
नहीं यह होना चाहिए trueऔर falseऔर नहीं 'true'और 'false'?
tpower

9
यह "काम नहीं किया" क्योंकि 'false'बूलियन मूल्य में परिवर्तित किया गया था जिसके परिणामस्वरूप true- खाली स्ट्रिंग falseइस प्रकार "काम" का मूल्यांकन करती है। उदाहरण के लिए इस फील को देखें कि मेरा क्या मतलब है।
शैडो विजार्ड ईयर फॉर यू

@ chris97ong मैंने आपका संपादन वापस कर दिया है; जब कोई कहता है कि "नीचे दिए गए कोड का उपयोग न करें क्योंकि यह काम नहीं करता है", उस कोड को ठीक करते हुए टिप्पणी को छोड़ते हुए कहा कि यह काम नहीं करता है हानिकारक है - खासकर जब यह टिप्पणी में स्पष्टीकरण को तोड़ता है कि कोड क्यों नहीं है 'काम नहीं कर रहा। उस ने कहा, यह जवाब अभी भी कुछ उलझन में है और शक्ति और शैडोविग्र्ड द्वारा दिए गए कारणों के लिए एक योग्य है।
मार्क ऐमी

1
बूलियन के लिए सच्चे और झूठे मूल्यों का उपयोग करें, 'सही' या 'गलत' (स्ट्रिंग्स) का उपयोग न करें।
जोन पोलोवा

13

जब आपने एक चेकबॉक्स चेक किया;

$('.className').attr('checked', 'checked')

यह पर्याप्त नहीं हो सकता है। आपको नीचे दिए गए फ़ंक्शन को भी कॉल करना चाहिए;

$('.className').prop('checked', 'true')

खासकर जब आपने चेकबॉक्स चेक की गई विशेषता को हटा दिया।


11

यहाँ jQuery का उपयोग कर पूरा जवाब है

मैं इसका परीक्षण करता हूं और यह 100% काम करता है: डी

    // when the button (select_unit_button) is clicked it returns all the checed checkboxes values 
    $("#select_unit_button").on("click", function(e){

             var arr = [];

             $(':checkbox:checked').each(function(i){
                 arr[i] = $(this).val(); // u can get id or anything else
             });

              //console.log(arr); // u can test it using this in google chrome
    });

10

JQuery में,

if($("#checkboxId").is(':checked')){
    alert("Checked");
}

या

if($("#checkboxId").attr('checked')==true){
    alert("Checked");
}

जावास्क्रिप्ट में,

if (document.getElementById("checkboxID").checked){
    alert("Checked");
}

7
इस सवाल का जवाब नहीं है।
शमूएल एलवाई

2
यह उत्तर आउट-ऑफ़-डेट है क्योंकि यह .attrइसके बजाय उपयोग करता है .prop
ब्लेज़मॉन्गर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.