मैं कैसे जांचूं कि क्या jQuery में एक चेकबॉक्स की जांच की गई है?


4548

मुझे checkedएक चेकबॉक्स की संपत्ति की जाँच करने और jQuery का उपयोग करके जाँच की गई संपत्ति के आधार पर एक क्रिया करने की आवश्यकता है।

उदाहरण के लिए, यदि आयु चेकबॉक्स चेक किया गया है, तो मुझे उम्र दर्ज करने के लिए एक टेक्स्टबॉक्स दिखाने की आवश्यकता है, अन्यथा टेक्स्टबॉक्स को छिपाएं।

लेकिन निम्न कोड falseडिफ़ॉल्ट रूप से लौटता है:

if ($('#isAgeSelected').attr('checked'))
{
    $("#txtAge").show();
}
else
{
    $("#txtAge").hide();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" id="isAgeSelected"/>

<div id="txtAge" style="display:none">
Age is selected
</div>

मैं checkedसंपत्ति को सफलतापूर्वक क्वेरी कैसे कर सकता हूं ?


14
$ ('# isAgeSelected') संग्रह लौटाता है, इसे इसके साथ बदलें: $ ('# isAgeSelected') [0] .checked
zamoldar

14
क्यों नहीं$('#isAgeSelected').checked
डॉन चेडल

1
एक व्यापक (और सही) उत्तर के लिए देखें: stackoverflow.com/questions/426258/…
पॉल केनजोरा

12
JQuery चयनकर्ताओं वापसी सरणी के बाद से, आप उपयोग कर सकते हैं$('#isAgeSelected')[0].checked
फेलिप Leão

2
मेरे लिए निम्नलिखित ट्विक ने काम किया: .attr ('चेक') को .is (': चेक')
के साथ बदलें

जवाबों:


3432

मैं जाँच की गई संपत्ति को सफलतापूर्वक क्वेरी कैसे करूँ?

checkedएक चेकबॉक्स DOM तत्व की संपत्ति आपको तत्व की स्थिति देगी checked

आपके मौजूदा कोड को देखते हुए, आप ऐसा कर सकते हैं:

if(document.getElementById('isAgeSelected').checked) {
    $("#txtAge").show();
} else {
    $("#txtAge").hide();
}

हालाँकि, इसका उपयोग करने के लिए एक बहुत ही सुंदर तरीका है toggle:

$('#isAgeSelected').click(function() {
    $("#txtAge").toggle(this.checked);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="isAgeSelected"/>
<div id="txtAge" style="display:none">Age is something</div>


36
मैंने भी उपरोक्त स्थिति को आजमाया है, लेकिन यह केवल झूठी है
प्रसाद

24
। $ ( "# txtAge") टॉगल (this.checked); बिल्कुल $ ("# txtAge") के समान है। टॉगल ()। इसलिए, यदि किसी कारण से राज्य की जाँच की जाती है और अगला div छिपा होता है (आपने अपने ब्राउज़र में बैक बटन पर क्लिक किया है) - यह अपेक्षा के अनुरूप काम नहीं करेगा।
मक्सीम वी।

23
@ चिरमिसु - यदि आपने उत्तर को सभी तरह से नीचे पढ़ा है, तो आपने देखा होगा कि मेरा संपादन is(':checked')व्यवसाय का उपयोग नहीं करता है ।
करीम k

8
सेट करने के लिए: $ ("# chkmyElement") [0] .checked = true; पाने के लिए: अगर ($ ("# chkmyElement") [0]। चेक किया गया)
JJ_Coder4Hire

28
यह सवाल का जवाब नहीं है। this.checkedओपी के लिए पूछे जाने पर jQuery नहीं है। साथ ही, यह केवल तभी काम करता है जब उपयोगकर्ता चेकबॉक्स पर क्लिक करता है, जो सवाल का हिस्सा नहीं है। सवाल यह है कि, How to check whether a checkbox is checked in jQuery?किसी भी समय, चेकबॉक्स पर या jQuery के साथ क्लिक किए बिना।
मार्क कॉमप्टे

1846

JQuery का () फ़ंक्शन का उपयोग करें :

if($("#isAgeSelected").is(':checked'))
    $("#txtAge").show();  // checked
else
    $("#txtAge").hide();  // unchecked

19
यदि आपको अवधि, सहजता आदि की आवश्यकता नहीं है, तो आप उपयोग कर सकते हैं $("#txtAge").toggle($("#isAgeSelected").is(':checked'))
naor

13
+1 जाँची गई संपत्ति प्राप्त करने के विभिन्न तरीके हैं। कुछ यहाँ सूचीबद्ध हैं
user3199690

@NickG असल में jQuery करता है एक है : दिखाई चयनकर्ता
hvdd

2
@ मुझे पता है - मैंने कहा "संपत्ति", चयनकर्ता नहीं।
NickG

@NickG ... मुझे समझ नहीं आ रहा है कि आपका क्या मतलब है। jQuery के पास कोई .visible"संपत्ति" ( संपत्ति नहीं है ? आप का मतलब विधि ?) है क्योंकि HTML तत्व में कोई दृश्य गुण नहीं है। उनके पास एक display स्टाइल प्रॉपर्टी है और यह ऑन / ऑफ की तुलना में थोड़ा अधिक जटिल है।
xDaizu

566

JQuery> 1.6 का उपयोग करना

<input type="checkbox" value="1" name="checkMeOut" id="checkMeOut" checked="checked" />

// traditional attr
$('#checkMeOut').attr('checked'); // "checked"
// new property method
$('#checkMeOut').prop('checked'); // true

नई संपत्ति विधि का उपयोग करना:

if($('#checkMeOut').prop('checked')) {
    // something when checked
} else {
    // something else when not
}

27
मैं यह जानना चाहूंगा कि यह उत्तर क्यों नहीं है ... यदि आप बिल्कुल भी jquery का उपयोग कर रहे हैं, तो .propविधि प्रॉम्प्स की जांच करने के लिए डिज़ाइन किया गया तरीका है। .. ... यदि आप .is(":checked")दृष्टिकोण करने जा रहे हैं, तो यह ठीक है, लेकिन यह jquery का उपयोग करके इसे करने के लिए डिज़ाइन किया गया तरीका नहीं है। सही?
dsdsdsdsd

1
@dsdsdsdsd शायद इसलिए क्योंकि इसे अभी तक एक और पश्चगामी संगतता चरण की आवश्यकता है (मैं अभी इसी मुद्दे का सामना कर रहा हूं)।
user98085

18
.is(":checked")और .prop("checked")दोनों वैध तरीके jQuery में एक ही परिणाम प्राप्त करने के लिए, कर रहे हैं .isसभी संस्करणों में काम करेंगे, .prop1.6+ की आवश्यकता है
gnarf

यदि आप .attr('checked')jQuery 1.11.3 में उपयोग करते हैं , तो आप अपरिभाषित हो जाते हैं, जहाँ यदि आप उपयोग करते हैं .prop('checked'), तो आपको सही / गलत मिलेगा। मैं नहीं देखता कि उन्होंने इसे इस तरह से काम करने के लिए क्यों बदल दिया जब पुराने ब्राउज़र बाद में आने वाले jQuery संस्करणों का समर्थन नहीं कर सकते हैं .prop()और इसलिए आवश्यकता है .attr()। एकमात्र बचत अनुग्रह यह है कि पुराने ब्राउज़र (यानी IE 8) कुछ भी> jQuery 1.9 का समर्थन नहीं कर सकते हैं। उम्मीद है कि उन्होंने .attr('checked')उस संस्करण में ऐसा नहीं किया ( = अनिर्धारित) नहीं किया! सौभाग्य से, वहाँ हमेशा है this.checked
वाप्गुगी

230

jQuery 1.6+

$('#isAgeSelected').prop('checked')

jQuery 1.5 और नीचे

$('#isAgeSelected').attr('checked')

JQuery का कोई भी संस्करण

// Assuming an event handler on a checkbox
if (this.checked)

सारा श्रेय जियान को जाता है ।


8
तकनीकी रूप से, this.checkedसीधे जावास्क्रिप्ट का उपयोग कर रहा है। लेकिन मुझे वह क्रॉस-jQuery-संस्करण उत्तर पसंद है!
वाप्गुगी

170

मैं इसका उपयोग कर रहा हूं और यह बिल्कुल ठीक काम कर रहा है:

$("#checkkBoxId").attr("checked") ? alert("Checked") : alert("Unchecked");

नोट: यदि चेकबॉक्स की जाँच की जाती है तो यह सही नहीं होगा अन्यथा अपरिभाषित होगा, इसलिए "TRUE" मान के लिए बेहतर जाँच करें।


6
यह काम करता है क्योंकि $ ("# checkkBoxId")। attr ("चेक किया गया") "चेक किया गया" या "" (खाली स्ट्रिंग) देता है। और एक खाली स्ट्रिंग झूठी है, गैर-खाली स्ट्रिंग सत्य है, सत्य
Adrien Be

7
2.1.x द्वारा jquery द्वारा यह हमेशा चेक किया जाता है कि क्या यह डिफ़ॉल्ट रूप से जांचा गया है ... मुझे नहीं पता कि यह व्यवहार जानबूझकर है या नहीं, लेकिन यह निश्चित रूप से काम नहीं करता है (मुझे लगता है कि यह एक बग है) ... वैल () या तो काम नहीं करता है, यह "चालू" रहता है। प्रोप () ठीक से काम कर रहा है और डॉमेचैक्टेड या तो काम करता है।
inf3rno

1
और समस्या तब आती है जब आपको पुराने ब्राउज़र का समर्थन करना होता है .attr()! यदि केवल वे सिर्फ अच्छी तरह से अकेले छोड़ दिया .... यहाँ पर एक और जवाब मिला, आप बस this.checkedएक क्रॉस- jQuery समाधान के लिए उपयोग कर सकते हैं, क्योंकि यह सिर्फ मूल रूप से जावास्क्रिप्ट है।
वाप्गुगी

.attr ('चेक किया हुआ') परीक्षण करेगा कि क्या यह डिफ़ॉल्ट रूप से चेक किया गया है, हाँ। क्योंकि यह html विशेषता की जाँच कर रहा है , न कि वर्तमान स्थिति की। पिछला संस्करण एक बग था (जिसमें से एक का शोषण बहुत हुआ, मुझे लगता है)।
जय इरविन

149

उपयोग:

<input type="checkbox" name="planned_checked" checked id="planned_checked"> Planned

$("#planned_checked").change(function() {
    if($(this).prop('checked')) {
        alert("Checked Box Selected");
    } else {
        alert("Checked Box deselect");
    }
});

    $("#planned_checked").change(function() {
        if($(this).prop('checked')) {
            alert("Checked Box Selected");
        } else {
            alert("Checked Box deselect");
        }
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="checkbox" name="planned_checked" checked id="planned_checked"> Planned


119

JQuery 1.6 के बाद से, व्यवहार jQuery.attr()बदल गया है और उपयोगकर्ताओं को एक तत्व की जांच की गई स्थिति को पुनः प्राप्त करने के लिए इसका उपयोग नहीं करने के लिए प्रोत्साहित किया जाता है। इसके बजाय, आपको उपयोग करना चाहिए jQuery.prop():

$("#txtAge").toggle(
    $("#isAgeSelected").prop("checked") // For checked attribute it returns true/false;
                                        // Return value changes with checkbox state
);

दो अन्य संभावनाएं हैं:

$("#txtAge").get(0).checked
$("#txtAge").is(":checked")

और $ ( "# txtAge") [0] .checked
येवजेनिय Afanasyev

101

यह मेरे लिए काम किया:

$get("isAgeSelected ").checked == true

isAgeSelectedनियंत्रण की आईडी कहां है

इसके अलावा, @ karim79 का जवाब ठीक काम करता है। मुझे यकीन नहीं है कि मैं उस समय चूक गया जब मैंने इसका परीक्षण किया।

ध्यान दें, यह उत्तर है कि Microsoft Ajax का उपयोग करता है, jQuery का नहीं


4
सभी मामलों में, सभी सामान्य प्रोग्रामिंग भाषाओं में, आप छोड़ सकते हैं== true
RedPixel

@RedPixel जब तक आप अशक्त प्रकार के साथ काम नहीं कर रहे हैं। :) (पांडित्यपूर्ण स्माइली)
कोलोब कैनियन

88

यदि आप jquery के अद्यतन संस्करण का उपयोग कर रहे हैं, तो आपको .propअपनी समस्या को हल करने के लिए विधि के लिए जाना चाहिए :

$('#isAgeSelected').prop('checked')trueयदि जाँच की जाती है और falseयदि अनियंत्रित है तो वापस आ जाएगी । मैंने इसकी पुष्टि की और मैं इस मुद्दे पर पहले आया था। $('#isAgeSelected').attr('checked')और $('#isAgeSelected').is('checked')लौट रहा है undefinedजो स्थिति के लिए एक योग्य जवाब नहीं है। इसलिए नीचे दिए अनुसार करें।

if($('#isAgeSelected').prop('checked')) {
    $("#txtAge").show();
} else {
    $("#txtAge").hide();
}

आशा है कि यह मदद करता है:) - धन्यवाद।


क्यों नहीं $('#isAgeSelected').checked?
डॉन चेडल

1
का उपयोग करने के लिए। आपको एक कोलोन $ ('# isAgeSelected') की आवश्यकता है। (': चेक किया हुआ')
पैट्रिक

62

Clickचेकबॉक्स संपत्ति के लिए इवेंट हैंडलर का उपयोग करना अविश्वसनीय है, क्योंकि checkedइवेंट हैंडलर के निष्पादन के दौरान संपत्ति बदल सकती है!

आदर्श रूप से, आप अपना कोड एक changeइवेंट हैंडलर में डालना चाहते हैं, जैसे कि हर बार निकाल दिया जाता है, चेक बॉक्स का मूल्य बदल जाता है ( यह कैसे किया जाता है, इसका स्वतंत्र रूप )।

$('#isAgeSelected').bind('change', function () {

   if ($(this).is(':checked'))
     $("#txtAge").show();
   else
     $("#txtAge").hide();
});

3
JQuery 1.7 के रूप में, .on()एक दस्तावेज में इवेंट हैंडलर संलग्न करने के लिए विधि पसंदीदा तरीका है।
नाऊर

61

उपयोग:

<input type="checkbox" id="abc" value="UDB">UDB
<input type="checkbox" id="abc" value="Prasad">Prasad
$('input#abc').click(function(){
  if($(this).is(':checked'))
  {
    var checkedOne=$(this).val()
    alert(checkedOne);

    // Do some other action
  }
})

यह मदद कर सकता है यदि आप चाहते हैं कि आवश्यक कार्रवाई केवल तभी की जानी है जब आप चेक को उस समय हटा दें जब आप चेक को हटा दें।


53

मैंने यह तय करने का निर्णय लिया कि बिना jQuery के ठीक वही काम कैसे किया जाए। सिर्फ इसलिए कि मैं एक विद्रोही हूं।

var ageCheckbox = document.getElementById('isAgeSelected');
var ageInput = document.getElementById('txtAge');

// Just because of IE <333
ageCheckbox.onchange = function() {
    // Check if the checkbox is checked, and show/hide the text field.
    ageInput.hidden = this.checked ? false : true;
};

सबसे पहले आप दोनों तत्वों को उनकी आईडी द्वारा प्राप्त करें। फिर आप चेकबॉक्से के onchangeईवेंट को एक फ़ंक्शन असाइन करते हैं जो यह चेक करता है कि चेकबॉक्स चेक किया गया है या hiddenउचित रूप से आयु पाठ फ़ील्ड की संपत्ति सेट करता है। उस उदाहरण में टर्नरी ऑपरेटर का उपयोग करना।

यहाँ आप इसे परीक्षण करने के लिए एक बेला है।

परिशिष्ट

यदि क्रॉस-ब्राउज़र संगतता एक समस्या है तो मैं सीएसएस displayसंपत्ति को किसी और इनलाइन पर सेट करने का प्रस्ताव करता हूं ।

elem.style.display = this.checked ? 'inline' : 'none';

धीमी लेकिन पार ब्राउज़र संगत।


खैर, .hiddenबहुत क्रॉस-ब्राउज़र नहीं है, हालांकि मुझे यह समाधान पसंद है :)
फ्लोरियन मार्गाइन

यह वास्तव में उपयोग करने का सबसे अच्छा तरीका है style। हालांकि यह दुर्भाग्यपूर्ण है, क्योंकि .hiddenप्रदर्शन बेहतर है
फ्लोरियन मार्गाइन

सशर्त संचालक के अंदर असाइनमेंट? कानूनी, हाँ। हालांकि मैं अच्छी शैली को नहीं कहूंगा।
जूल्स

को सरल कर सकते हैं: ageInput.hidden =! this.checked; (मुझे नफरत है जब लोग बूलियन शाब्दिक का अनावश्यक रूप से उपयोग करते हैं ... यदि आप एक ही सरल कथन में "सच" और "झूठे" दोनों का उपयोग कर रहे हैं, तो यह संभवतः या तो उपयोग करने के लिए अनावश्यक है)
जोएलफैन

52

मेरा मानना ​​है कि आप ऐसा कर सकते हैं:

if ($('#isAgeSelected :checked').size() > 0)
{
    $("#txtAge").show(); 
} else { 
    $("#txtAge").hide();
}

चेतावनी ($ ( 'इनपुट [नाम = isAgeSelected]') attr ( 'जाँच')।); उपरोक्त कोड चेक के आधार पर सही / गलत दिखाया गया है। पिछली कोशिशों के साथ कोई समस्या
प्रसाद

प्रसाद, क्या आप अपने चेकबॉक्स को नाम या आईडी से संदर्भित कर रहे हैं? मैं अब भ्रमित हो रहा हूं ...
karim79

क्या आप इसे आईडी नहीं दे सकते? चीजें बहुत आसान होंगी, आपके उदाहरण में आपने इसे आईडी द्वारा संबोधित किया है
xenon

.Size () विधि को jQuery 1.8 के रूप में दर्शाया गया है। इसके बजाय .length (नहीं के साथ) ;-) संपत्ति का उपयोग करें और शायद आपको एक साथ "#isAgeSelected: check" करना होगा।
फ्रांस्वा ब्रेटन

47

मैं ठीक उसी मुद्दे पर भाग गया। मेरे पास ASP.NET चेकबॉक्स है

<asp:CheckBox ID="chkBox1" CssClass='cssChkBox1' runat="server" />

JQuery कोड में मैंने निम्न चयनकर्ता का उपयोग करके जांच की थी कि चेकबॉक्स की जाँच की गई थी या नहीं, और यह एक आकर्षण की तरह काम करता है।

if ($("'.cssChkBox1 input[type=checkbox]'").is(':checked'))
{ ... } else { ... }

मुझे यकीन है कि आप CssClass के बजाय आईडी का उपयोग कर सकते हैं,

if ($("'#cssChkBox1 input[type=checkbox]'").is(':checked'))
{ ... } else { ... }

मैं आशान्वित हूं कि इससे आपको सहायता मिलेगी।


46

चेकबॉक्स चेक किया है या नहीं, इसकी जांच के कई तरीके हैं:

JQuery का उपयोग करके जांच करने का तरीका

if (elem.checked)
if ($(elem).prop("checked"))
if ($(elem).is(":checked"))
if ($(elem).attr('checked'))

उदाहरण देखें या दस्तावेज़ भी:


46

यह कोड आपकी मदद करेगा

$('#isAgeSelected').click(function(){
   console.log(this.checked);
   if(this.checked == true) {
        $("#txtAge").show();
    } else {
       $("#txtAge").hide();
   }
});

42

यह मेरे लिए काम करता है:

/* isAgeSelected being id for checkbox */

$("#isAgeSelected").click(function(){
  $(this).is(':checked') ? $("#txtAge").show() : $("#txtAge").hide();
});

41

यह एक ही काम करने की कुछ अलग विधि है:

$(document).ready(function (){

    $('#isAgeSelected').click(function() {
        // $("#txtAge").toggle(this.checked);

        // Using a pure CSS selector
        if ($(this.checked)) {
            alert('on check 1');
        };

        // Using jQuery's is() method
        if ($(this).is(':checked')) {
            alert('on checked 2');
        };

        //  // Using jQuery's filter() method
        if ($(this).filter(':checked')) {
            alert('on checked 3');
        };
    });
});
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<input type="checkbox" id="isAgeSelected"/>
<div id="txtAge" style="display:none">Age is something</div>


35

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

if ($('input[name="salary_in.Basic"]:checked').length > 0)

यदि चेकबॉक्स चेक किया गया है तो लंबाई शून्य से अधिक है।


33

ऐसा करने का मेरा तरीका है:

if ( $("#checkbox:checked").length ) {       
    alert("checkbox is checked");
} else {
    alert("checkbox is not checked");
}

31
$(selector).attr('checked') !== undefined

यह रिटर्न trueयदि इनपुट चेक किया गया है और falseअगर यह नहीं है।


4
मैं समझता हूं कि यह कुछ निश्चित परिदृश्यों में क्यों काम कर सकता है, हालांकि इसमें एक ही मुद्दा .attr('checked')है कि यह हमेशा सही स्थिति नहीं लौटाता है। के अनुसार सलमान एक के जवाब (और शायद अन्य लोगों की) है, यह का उपयोग करने के लिए एक सुरक्षित विकल्प है .prop('checked')बजाय। इसके अलावा, यह भी घोषित करने के लिए संभव है undefinedके रूप में var undefined = 'checked';
WynandB

.prop('checked')अब एक बेहतर जवाब लगता है। यह उस समय विश्वसनीय नहीं था जब यह लिखा गया था। मुझे समझ में नहीं आता है, और न ही यह लगता है कि अपरिभाषित को फिर से परिभाषित करने के लिए यह एक अच्छा विचार है।
fe_lix_

एक साइड नोट के रूप में, अपरिभाषित की जाँच करना बेहतर हैtypeof (x) !== "undefined"
naor

उस मामले में, मेरा मानना ​​है कि यह अधिक सटीक और आसान है! == के साथ पढ़ने के लिए। मैं केवल एक चर का परीक्षण करते समय टाइपोफ़ (x) का उपयोग करता हूं जो अतीत में परिभाषित किया गया है या नहीं हो सकता है।
fe_lix_

30
$(document).ready(function() {    
    $('#agecheckbox').click(function() {
        if($(this).is(":checked"))
        {
            $('#agetextbox').show();
        } else {
            $('#agetextbox').hide();
        }
    });
});

30

आप उपयोग कर सकते हैं:

  if(document.getElementById('isAgeSelected').checked)
    $("#txtAge").show();  
  else
    $("#txtAge").hide();

if($("#isAgeSelected").is(':checked'))
  $("#txtAge").show();  
else
  $("#txtAge").hide();

दोनों को काम करना चाहिए।


27

1) यदि आपका HTML मार्कअप है:

<input type="checkbox"  />

इस्तेमाल किया attr:

$(element).attr("checked"); // Will give you undefined as initial value of checkbox is not set

यदि प्रोप का उपयोग किया जाता है:

$(element).prop("checked"); // Will give you false whether or not initial value is set

2) यदि आपका HTML मार्कअप है:

 <input type="checkbox"  checked="checked" />// May be like this also  checked="true"

इस्तेमाल किया attr:

$(element).attr("checked") // Will return checked whether it is checked="true"

उपयोग किया गया प्रोप:

$(element).prop("checked") // Will return true whether checked="checked"

यह एक वास्तविक समस्या है। मेरा वर्कअराउंड - इनपुट में एक परिवर्तन घटना जोड़ें: <इनपुट प्रकार = "चेकबॉक्स" onchange = "ChangeChkBox ()" /> फिर एक बूलियन जावास्क्रिप्ट चर को बदलने के लिए उस घटना का उपयोग करें, और चेकबॉक्स को सीधे क्वेरी करने के बजाय जावास्क्रिप्ट चर का उपयोग करें।
ग्राहम लाएट

24

यह उदाहरण बटन के लिए है।

निम्नलिखित आज़माएँ:

<input type="button" class="check" id="checkall" value="Check All" />  &nbsp; <input type="button" id="remove" value="Delete" /> <br/>

<input type="checkbox" class="cb-element"  value="1" /> Checkbox  1 <br/>
<input type="checkbox" class="cb-element"  value="2" /> Checkbox  2 <br/>
<input type="checkbox" class="cb-element"  value="3" /> Checkbox  3 <br/>


$('#remove').attr('disabled', 'disabled'); 

$(document).ready(function() {  

    $('.cb-element').click(function() {

        if($(this).prop('checked'))
        {
            $('#remove').attr('disabled', false);
        }
        else
        {
            $('#remove').attr('disabled', true);
        }
    });   

    $('.check:button').click(function()
{
    var checked = !$(this).data('checked');
    $('input:checkbox').prop('checked', checked);
    $(this).data('checked', checked);

    if(checked == true)
    {
        $(this).val('Uncheck All');
         $('#remove').attr('disabled', false);
    }

    else if(checked == false)
    {
        $(this).val('Check All');
        $('#remove').attr('disabled', true);
    }
});
});

24

शीर्ष उत्तर ने मेरे लिए ऐसा नहीं किया। हालांकि यह किया था:

<script type="text/javascript">
    $(document).ready(function(){

        $("#li_13").click(function(){
            if($("#agree").attr('checked')){
                $("#saveForm").fadeIn();
            }
            else
            {
                $("#saveForm").fadeOut();
            }
        });
    });
</script>

मूल रूप से जब तत्व # li_13 पर क्लिक किया जाता है, तो यह जाँचता है कि क्या तत्व # सहमत है (जो चेकबॉक्स है) .attr('checked')फ़ंक्शन का उपयोग करके चेक किया गया है। यदि यह है तो #saveForm तत्व में fadeIn, और नहीं तो saveForm तत्व को फीका करें।


22

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

 <input type="checkbox" id="isAgeSelected" value="1" /> <br/>
 <input type="textbox" id="txtAge" />

 $("#isAgeSelected").is(':checked') ? $("#txtAge").show() : $("#txtAge").hide();

22

यद्यपि आपने अपनी समस्या के लिए एक जावास्क्रिप्ट समाधान प्रस्तावित किया है ( textboxजब एक checkboxहै प्रदर्शित करता है checked), यह समस्या सिर्फ सीएसएस द्वारा हल की जा सकती है । इस दृष्टिकोण के साथ, आपका फ़ॉर्म उन उपयोगकर्ताओं के लिए काम करता है जिनके पास जावास्क्रिप्ट अक्षम है।

मान लें कि आपके पास निम्न HTML है:

<label for="show_textbox">Show Textbox</label>
<input id="show_textbox" type="checkbox" />
<input type="text" />

वांछित कार्यक्षमता प्राप्त करने के लिए आप निम्नलिखित सीएसएस का उपयोग कर सकते हैं:

 #show_textbox:not(:checked) + input[type=text] {display:none;}

अन्य परिदृश्यों के लिए, आप उचित सीएसएस चयनकर्ताओं के बारे में सोच सकते हैं।

यहाँ इस दृष्टिकोण को प्रदर्शित करने के लिए एक फिडेल है


21

टॉगल करें: 0/1 या फिर

<input type="checkbox" id="nolunch" />
<input id="checklunch />"

    $('#nolunch').change(function () {
    if ($(this).is(':checked')) {
        $('#checklunch').val('1');
    };
    if ($(this).is(':checked') == false) {
        $('#checklunch').val('0');
    };
});

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