2009-11-23 13 views
17

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

कोड:

$('#WindowOpen').click(function (event) { 
    event.preventDefault(); 
    $('#forgot_pw').slideToggle(600); 

    if('#forgot_pw') { 
    $('#login_uname, #login_pass').attr('disabled','disabled'); 
    } else { 
    $('#login_uname, #login_pass').removeAttr('disabled'); 
    } 
}); 

धन्यवाद।

+1

अगर ('# forgot_pw') हमेशा चलेंगे। मुझे लगता है कि यह एक टाइपो है? – mtyaka

+2

भावी संदर्भ के लिए, jQuery अक्षम होने जैसे इनपुट गुणों को प्राप्त करने और सेट करते समय '.prop()' विधि (http://api.jquery.com/prop/) का उपयोग करने की अनुशंसा करता है। आपके द्वारा उपयोग किए जाने वाले jQuery के संस्करण और आपके उपयोगकर्ता किस ब्राउजर के साथ नेविगेट करते हैं, उसके आधार पर यह अधिक क्रॉस ब्राउज़र अनुकूल है। की – jasonmerino

+1

संभव डुप्लिकेट [विकलांग विशेषता JQuery का उपयोग कर निकालें?] (http://stackoverflow.com/questions/13626517/remove-disabled-attribute-using-jquery) – user2381114

उत्तर

17

सभी अच्छे यह प्रयोग किया जाता है के साथ की जगह का प्रयास करें:

$('#WindowOpen').toggle(
    function() 
    { 
     $('#login_uname, #login_pass').attr("disabled","disabled");  
    }, 
    function() 
    { 
     $('#login_uname, #login_pass').removeAttr("disabled");  
    }); 
5

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

if('#forgot_pw') 

if($('#forgot_pw').attr('disabled')) 
+0

एक ही समस्या है, मैं उसे निष्क्रिय लेकिन पुन: सक्षम नहीं करने के लिए मिलता है। – Tarek

4
$('#forgot_pw').attr('disabled', false); 

आप के लिए काम करना चाहिए।

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