2012-06-26 4 views
5

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

//attach an event for clicking on the informal contact button 
jQuery(document).ready(
    function() { 
     jQuery('.InformalContact').live('click', 
     function (event) { 
      TestIfInformalContactIsChecked(event); 
     }); 
    } 
); 

//check the status of the informalcontact checkbox when a user activates it 
//If checked, user can input data in the contactinfo manually. 
function TestIfInformalContactIsChecked(event) { 
    var thisCheck = jQuery(event.target); 
    if (thisCheck.is(':checked')) { 
     jQuery("#ContactInfo").removeAttr('disabled'); 
    } 
    else { 
     jQuery("#ContactInfo").addAttr('disabled');  
    } 
} 

और यह एचटीएमएल है ...

<div class="TBItemColumn1"> 
    Name: <input id="Name" value="" class="TBFindContact" style="width: 150px;" maxlength="50" type="text" /><br /> 
    <input id="InformalContact" class="InformalContact" maxlength="50" type="checkbox" ClientIDMode="Static" />Informal Contact<br /> 
    <div id="TBContactSearchBox"></div> 
    Notes: 
    <br /> 
    <textarea id="Notes" style="width: 280px; height: 20px;"></textarea> 
    </div> 
    <div class="TBItemColumn2"> 
    <div class="FloatLeft"> 
     Contact Info: 
     <br /> 
     <textarea id="ContactInfo" value="" style="width: 280px; height: 70px;" disabled="disabled"></textarea> 
    </div> 
    </div> 

क्या मैं चेकबॉक्स पर विकलांग विशेषता सेटिंग के साथ खिलवाड़ कर रहा हूँ?

उत्तर

8

निष्क्रिय करने के लिए

jQuery("#ContactInfo").prop('disabled', false); 

इस

jQuery("#ContactInfo").prop('disabled', true); 

और इस प्रयोग को सक्षम करने के आप disabledremoveAttr का उपयोग कर (या removeProp) के रूप में एक देशी संपत्ति निकाल देते हैं तो आप इसे फिर से जोड़ने के लिए सक्षम नहीं होगा । यह संपत्ति मूल्य बदलने के लिए इस्तेमाल नहीं किया जाना चाहिए।

संबंधित मुद्दे