2010-09-27 19 views
11

मेरे पास एक चेकबॉक्स है और यदि मैं इसे चेक करता हूं तो मैं एक टेक्स्टफील्ड सक्षम होना चाहता हूं (डिफ़ॉल्ट रूप से अक्षम) और जब मैं चेकबॉक्स को अनटिक करता हूं तो मैं इसे फिर से अक्षम करना चाहता हूं।चेकबॉक्स और jQuery के साथ तत्व अक्षम/सक्षम करें?

मैंने देखा jQuery Checkboxes मैं कैसे सीएसएस कक्षा टॉगल करता हूं और यहां http://docs.jquery.com/Frequently_Asked_Questions#How_do_I_disable.2Fenable_a_form_element.3F मैं दो बटन के साथ सक्षम और अक्षम के बीच कैसे स्विच कर सकता हूं। लेकिन मैं चेकबॉक्स को टिक/अनटिक करके टेक्स्टफील्ड अक्षम/सक्षम स्थिति को कैसे टॉगल करूं?

अग्रिम धन्यवाद।

उत्तर

33
$(':checkbox').click(function(){ 
    $('input:text').attr('disabled',!this.checked) 
}); 

crazy demo

+1

चयन किया जाता है मुझे लगता है कि आप परिवर्तन चाहते हैं हैंडलर, जो उपयोगकर्ता को चेकबॉक्स से जुड़े लेबल पर क्लिक करने पर भी आग लग जाएगी। –

+0

http://jsfiddle.net/FArMm/1/ रीगेल से अद्यतन उदाहरण। – Tim

+0

@ राव - यदि यह लेबल आप चिंता कर रहे हैं, तो जांचें [पागल डेमो 2] (http://jsfiddle.net/FArMm/2/) – Reigel

6

आप चेकबॉक्स पर चेंज हैंडलर संलग्न कर सकते हैं, और checked संपत्ति के साथ टेक्स्ट फ़ील्ड को सक्षम/अक्षम कर सकते हैं।

$('#theCheckbox').change(function() { 
    $('#theTextfield').attr('disabled', this.checked); 
}); 

उदाहरण: http://jsbin.com/oludu3/2

0

यहाँ एक पेज करता है कि आप जो खोज रहे हैं - यह बहुत कम से कम है, लेकिन पता चलता है कि तुम क्या जरूरत है

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script> 
     <script> 
      $(document).ready(function() { 
       $("#testcheckbox").change(function() { 
        $("#testtextfield").attr("disabled", $(this).attr("checked")); 
       }); 
      }); 
     </script> 
    </head> 
    <body> 
     <input type="checkbox" id="testcheckbox" /> 
     <input type="text" id="testtextfield" /> 
    </body> 
</html> 
1

@ मार्टिन- टेक्स्टबॉक्स में टेक्स्ट को हटाने के लिए जो अक्षम हो जाता है और चेकबॉक्स को अनचेक करता है रों कि विकलांग हो जाता है - सिर्फ इस लाइन

$("#TextField_ID_name").val(""); 

जोड़ सकते हैं और चेकबॉक्स का चयन रद्द करने के लिए, आप चेकबॉक्स को आईडी नाम असाइन और फिर Jquery में यह पंक्ति जोड़

$("#chekcbox_ID_name").attr('checked',false) 

आशा इस मदद करता है की जरूरत है कोई ... हालांकि मैं अपनी पोस्टिंग के बाद 2 साल बाद मार्टिन के सवाल का जवाब दे रहा हूं :-)

0

jQuery 1.6 के बाद, .prop() विधि को अक्षम करने के लिए उपयोग किया जाना चाहिए और .attr() विधि के बजाय चेक किया गया है:

$('#theCheckbox').change(function() { 
    $('#theTextfield').prop('disabled', this.checked); 
}); 
0

शो और एक पाठ बॉक्स को छिपाने (# otherSection2) अन्य विकल्प में प्रवेश जब एक प्रदान की गई तालिका एएसपी की (#CheckBoxListList) में पिछले चेकबॉक्स के लिए: CheckBoxList नियंत्रण

$("#CheckBoxListList input[type='checkbox']:last").on("click", function() { 

       if ($(this).is(":checked")) { 
        $("#otherSection2").show(); 
       } else { 
        $("#otherSection2").hide().find("input").val(null); 

       } 
      }); 
संबंधित मुद्दे