jQuery.attr("अक्षम", "अक्षम") क्रोम में काम नहीं कर रहा है




google-chrome cross-browser (6)

यकीन नहीं है कि यह क्यों काम नहीं कर रहा है।

जब लोग मेरे आवेदन के 'संपादन' बटन पर क्लिक करते हैं, तो अक्षम टेक्स्टफील्ड संपादन योग्य बन जाते हैं:

$("#bewerken").click(function(e)    {
    $("input[disabled='disabled']").removeAttr('disabled');
});

जब उपयोगकर्ता बचाता है तो मैं फिर से टेक्स्टफील्ड को अक्षम करना चाहता हूं; मेरे पास यह कोड मेरे सेव बटन पर बाध्य है:

$("#save_school_changes").click(function(e) {
    //stuff

    $.ajax({
        type: "POST",
        url: "/school/save_changes",
        data: { //stuff },
        success: function(data)
        {
            $("#feedback_top").html("<p>" + data['message'] + "</p>").slideDown('slow').delay(2000).slideUp();
            $("input[type='text']").attr('disabled', 'disabled');

        }
    });

    e.preventDefault();
});

जहां तक ​​मुझे पता है, इसे फिर से टेक्स्टफील्ड को अक्षम करना चाहिए। हालांकि, यह क्रोम में काम नहीं कर रहा प्रतीत होता है। यह फ़ायरफ़ॉक्स में काम करता है। मुझे अभी तक आईई या सफारी में परीक्षण करने का मौका नहीं मिला है। क्या इस काम को क्रोम में भी बनाने का कोई तरीका है? आपका बहुत बहुत धन्यवाद!


इसके साथ मेरा मुद्दा यह था कि अक्षम एटीआर का उपयोग करने वाले तत्व को फॉर्म तत्व के रूप में परिभाषित करने की आवश्यकता है, इसके लिए इनपुट इनपुट प्रकार। दोनों ने attr () और prop () के साथ काम किया लेकिन भविष्य में रखरखाव के लिए बाद वाले को चुना।



यदि आप jQuery का उपयोग कर रहे हैं <1.6 ऐसा करें:

jQuery("input[type='text']").attr("disabled", 'disabled');

यदि आप jQuery 1.6+ का उपयोग कर रहे हैं:

jQuery("input[type='text']").prop("disabled", true);

इस सवाल को देखें: संदर्भों के लिए .prop () बनाम .attr () क्यों।

या आप इसे आजमा सकते हैं:

$('input:text').attr("disabled", 'disabled');

यहां जानकारी के लिए यहां देखें :text


यदि आप इनपुट से सभी अक्षम विशेषताओं को हटा रहे हैं, तो क्यों न करें:

$("input").removeAttr('disabled');

फिर AJAX सफलता के बाद:

$("input[type='text']").attr('disabled', true);

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


यहाँ:
http://jsbin.com/urize4/edit

सजीव पूर्वावलोकन
http://jsbin.com/urize4/

आपको इसके बजाय " readonly " का उपयोग करना चाहिए:

$("input[type='text']").attr("readonly", "true");

$("input[type='text']").attr('disabled', true);





jquery-attributes