javascript JQuery के साथ चेकबॉक्स के लिए "चेक किया गया" सेट करना?





15 Answers

उपयोग:

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

और यदि आप जांचना चाहते हैं कि चेकबॉक्स चेक किया गया है या नहीं:

$('.myCheckbox').is(':checked');
javascript jquery checkbox selected checked

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

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

या

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

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




तुम कर सकते हो

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

या

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

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

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

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

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

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

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



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

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




मान लीजिए कि सवाल है ...

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

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

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

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



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

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

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




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>




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

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



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

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

मैंने पाया कि अवधि के बिना, इंटरफ़ेस अपडेट नहीं करेगा चाहे आप क्या करें।




एक और संभावित समाधान:

    var c = $("#checkboxid");
    if (c.is(":checked")) {
         $('#checkboxid').prop('checked', false);
    } else {
         $('#checkboxid').prop('checked', true);
    }



Internet Explorer 9 से पहले इंटरनेट एक्सप्लोरर में मेमोरी लीक के बारे में जागरूक रहें, क्योंकि api.jquery.com/prop :

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




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

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



जैसा कि @ 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();



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

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

यहां उदाहरण




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

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

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

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



JQuery में,

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

या

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

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

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



Related