jQuery: चेकबॉक्स की जाँच नहीं की जाती है, तो परीक्षण करें


110

मुझे यह पता लगाने में परेशानी हो रही है। मेरे पास दो चेकबॉक्स हैं (भविष्य में और अधिक होंगे):

  • checkSurfaceEnvironment-1
  • checkSurfaceEnvironment-2

असल में, मैं एक बयान और परीक्षण लिखना चाहता हूं अगर उनमें से एक की जाँच की जाती है और दूसरे की जाँच नहीं की जाती है। निम्नलिखित को पूरा करने का सबसे आसान तरीका क्या है:

if ( $("#checkSurfaceEnvironment-1").attr('checked', true) &&
     $("#checkSurfaceEnvironment-2").is('**(NOT??)** :checked') ) {
        // do something
}

3
का प्रयोग करें ||नहीं &&करता है, तो जाँच करने के लिए या तो चेक किया गया है। &&जांच करता है कि दोनों जाँच कर रहे हैं।
j08691

जवाबों:


213

मेरा उपयोग करने का एक विश्वसनीय तरीका है:

if($("#checkSurfaceEnvironment-1").prop('checked') == true){
    //do something
}

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

$("#parentId").find("checkbox").each(function(){
    if ($(this).prop('checked')==true){ 
        //do something
    }
});

और जानकारी:

यह अच्छी तरह से काम करता है क्योंकि सभी चेकबॉक्स में एक संपत्ति की जाँच की जाती है जो चेकबॉक्स की वास्तविक स्थिति को संग्रहीत करता है। यदि आप चाहें तो पृष्ठ का निरीक्षण कर सकते हैं और एक चेकबॉक्स को चेक और अनचेक करने का प्रयास कर सकते हैं, और आप विशेषता "चेक" (यदि मौजूद है) को नोटिस करेंगे। यह विशेषता केवल चेकबॉक्स की प्रारंभिक स्थिति का प्रतिनिधित्व करती है , न कि वर्तमान स्थिति की। वर्तमान स्थिति उस चेकबॉक्स के लिए डोम तत्व की जाँच की गई संपत्ति में संग्रहीत है।

HTML में गुण और गुण देखें


2
उम्म ... यह सिर्फ सेट होगाchecked = true
Naftali उर्फ ​​नील

@ पाब्लो - नीचे मेरे उत्तर की जांच करें, जो कि मैं एक विश्वसनीय / उपयुक्त विकल्प भी हूं।
अनीश विजेंद्रन

@PabloMescher अरे, क्या आप कृपया मेरी मदद कर सकते हैं? मैं वास्तव में यह निर्धारित करना चाहता हूं कि कौन सा चेकबॉक्स (एस) है / कई के बीच चेक किया गया है? और, इसके आगे टेक्स्टबॉक्स को सक्षम / अक्षम करें। किसी भी तरह की सहायता की हम सराहना करेंगे।
अप्रैल ०३३

@ 1lastBr3ath यकीन है, अगर आप jQuery का उपयोग कर रहे हैं, तो आपको चेकबॉक्स के सापेक्ष टेक्स्टबॉक्स के लिए एक चयनकर्ता ढूंढना होगा और मेरे दूसरे उदाहरण का उपयोग करना होगा। यह कुछ ऐसा दिखेगा जैसे ($ (यह) .प्रॉप ('चेक किया गया') {$ (यह) .find ("<textboxSelector>")। Attr ("अक्षम", सत्य); }
पाब्लो मेचर

1
इस मामले में @Stophface यह संपत्ति हमेशा एक बूलियन होगी क्योंकि यह एक गणना की गई संपत्ति है और स्ट्रिंग नहीं है, इसलिए आप == का उपयोग करके दूर हो सकते हैं। यह हमेशा उपयोग करने के लिए बुद्धिमान है === हालांकि यह हमेशा ऐसा नहीं होता है
पाब्लो मेचर


31

आप या तो jQuery .not()विधि या :not()चयनकर्ता का उपयोग कर सकते हैं :

if ($('#checkSurfaceEnvironment').not(':checked').length) {
    // do stuff for not selected
}

JSFiddle उदाहरण


अतिरिक्त नोट्स

:not() चयनकर्ता के लिए jQuery एपीआई प्रलेखन से :

.Not () विधि एक में जटिल चयनकर्ताओं या चर धकेलने की तुलना में अधिक पठनीय चयन के साथ उपलब्ध कराने के खत्म हो जाएगा नहीं (): चयनकर्ता फिल्टर। ज्यादातर मामलों में, यह एक बेहतर विकल्प है।


1
$ ("# checkSurfaceEnvironment") है। (": चेक किया गया") एक बूलियन देता है। यह सच है अगर चेकबॉक्स की जाँच नहीं की जाती है। $ ('# checkSurfaceEnvironment')। नहीं (': check') DOM तत्वों की एक सरणी देता है। चयनकर्ता के लिए कोई मेल नहीं था और सरणी खाली है, भले ही 'अगर' सच है 'के साथ यह परीक्षण। आपका उत्तर सही होने का एकमात्र तरीका यह है कि यदि आपने i $ ('# checkSurfaceEnvironment') का परीक्षण किया है, तो नहीं है (': check') लंबाई, जो 0 या 1. पर
लौटेगी

22

एक वैकल्पिक तरीका:

यहां एक कार्यशील उदाहरण है और यहां कोड है, आपको प्रोप का उपयोग भी करना चाहिए।

$('input[type="checkbox"]').mouseenter(function() { 
    if ($(this).is(':checked')) {
        //$(this).prop('checked',false);
        alert("is checked");
    } else {
         //$(this).prop('checked',true);
        alert("not checked");
    }
});​

मैंने चेक की गई विशेषता को टॉगल करने का तरीका बताया।



6

मैं और अधिक प्रत्यक्ष कार्यान्वयन की तलाश कर रहा था जैसे कि एविजेन्डर ने सुझाव दिया।

मुझे उसके वाक्य-विन्यास से थोड़ी परेशानी हुई, लेकिन मुझे यह काम करना पड़ा:

if ($('.user-forms input[id*="chkPrint"]:not(:checked)').length > 0)

मेरे मामले में, मैं एक वर्ग के साथ एक मेज था user-forms, और यदि चेक बॉक्स कि स्ट्रिंग था के किसी भी मैं जाँच की गई थी checkPrintउनके में idअनियंत्रित थे।


5

मुझे लगता है कि चेकबॉक्स चेक किया गया है या नहीं यह जांचने के लिए सबसे आसान तरीका (jQuery के साथ) है:

यदि 'जाँच' है:

if ($(this).is(':checked')) {
// I'm checked let's do something
}

यदि 'जाँच नहीं' है:

if (!$(this).is(':checked')) {
// I'm NOT checked let's do something
}

4

यहाँ मेरे पास इस प्रश्न के लिए एक स्निपेट है।

$(function(){
   $("#buttoncheck").click(function(){
        if($('[type="checkbox"]').is(":checked")){
            $('.checkboxStatus').html("Congratulations! "+$('[type="checkbox"]:checked').length+" checkbox checked");
        }else{
            $('.checkboxStatus').html("Sorry! Checkbox is not checked");
         }
         return false;
   })
    
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
  <p>
    <label>
      <input type="checkbox" name="CheckboxGroup1" value="checkbox" id="CheckboxGroup1_0">
      Checkbox</label>
    <br>
    <label>
      <input type="checkbox" name="CheckboxGroup1_" value="checkbox" id="CheckboxGroup1_1">
      Checkbox</label>
    <br>
  </p>
  <p>
    <input type="reset" value="Reset">
    <input type="submit" id="buttoncheck" value="Check">
  </p>
  <p class="checkboxStatus"></p>
</form>


3

आपके साथ ऐसा करने के लिए, यह .attr()देखने के लिए कि क्या इसकी जाँच की जाएगी .attr("checked", "checked")और यदि यह नहीं है तो यह होगा.attr("checked") == undefined


1

यदि डिस्को में सभी चेकोबॉक्स की जाँच की जाती है तो सही लौटें

function all_checked (id_div){
 all_checked = true;

 $(id_div+' input[type="checkbox"]').each(function() { 
    all_checked = all_checked && $('this').prop('checked');
 }

 return all_checked;
}

1

जाँच करने के लिए सरल और आसान या अनियंत्रित स्थिति

<input type="checkbox" id="ev-click" name="" value="" >

<script>
    $( "#ev-click" ).click(function() {
        if(this.checked){
            alert('checked');
        }
        if(!this.checked){
            alert('Unchecked');
        }
    });
</script>

1

इसको आजमाओ

if ($("#checkSurfaceEnvironment-1:checked").length>0) {
    //your code in case of NOT checked
}

ऊपर दिए गए कोड में Id द्वारा तत्व का चयन करें और (#checkSurfaceEnvironment-1)फिर फ़िल्टर द्वारा (:checked)फ़िल्टर की गई स्थिति को फ़िल्टर करें।

यह चेक किए गए तत्व ऑब्जेक्ट की सरणी लौटाएगा। यदि सरणी में कोई वस्तु मौजूद है तो यदि स्थिति संतुष्ट होगी।


हालाँकि आपका उत्तर मदद कर सकता है, आपको कम से कम यह क्यों बताना चाहिए। जैसा कि है, आपका उत्तर निम्न गुणवत्ता वाले पोस्ट मॉडरेशन कतार (जो कि मैं इसे देख रहा हूं) में दिया गया है। मेरा सुझाव है कि आप अपने उत्तर को संपादित करके स्पष्टीकरण जोड़ें।
क्रिस स्पिल्ट्स

1

वहाँ दो तरीके से आप हालत की जाँच कर सकते हैं।

if ($("#checkSurfaceEnvironment-1").is(":checked")) {
    // Put your code here if checkbox is checked
}

या आप इसे भी इस्तेमाल कर सकते हैं

if($("#checkSurfaceEnvironment-1").prop('checked') == true){
    // Put your code here if checkbox is checked
}

मुझे उम्मीद है कि यह आपके लिए उपयोगी है।


1

यहाँ सबसे सरल तरीका दिया गया है

 <script type="text/javascript">

        $(document).ready(function () {
            $("#chk_selall").change("click", function () {

                if (this.checked)
                {
                    //do something
                }
                if (!this.checked)
                {
                    //do something

                }

            });

        });

    </script>


0

मुझे पता है कि यह पहले ही उत्तर दिया जा चुका है, लेकिन फिर भी, यह इसे करने का एक अच्छा तरीका है:

if ($("#checkbox").is(":checked")==false) {
    //Do stuff here like: $(".span").html("<span>Lorem</span>");
}

0
if($("#checkbox1").prop('checked') == false){
    alert('checkbox is not checked');
    //do something
}
else
{ 
    alert('checkbox is checked');
}

4
हालांकि यह लेखकों के सवाल का जवाब दे सकता है, लेकिन इसमें कुछ स्पष्ट शब्दों और / या प्रलेखन के लिंक का अभाव है। रॉ कोड स्निपेट्स उनके आसपास कुछ वाक्यांशों के बिना बहुत उपयोगी नहीं हैं। आप यह भी पा सकते हैं कि कैसे एक अच्छा उत्तर लिखने में बहुत मददगार है। कृपया अपना उत्तर संपादित करें
निक

-4
$("#chkFruits_0,#chkFruits_1,#chkFruits_2,#chkFruits_3,#chkFruits_4").change(function () {
        var item = $("#chkFruits_0,#chkFruits_1,#chkFruits_2,#chkFruits_3,#chkFruits_4");
    if (item.is(":checked")==true) {
        //execute your code here
    }

    else if (item.is(":not(:checked)"))
    {
        //execute your code here
    }

});
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.