मैं readonlyएक विशिष्ट में कैसे जोड़ सकता हूं <input>? .attr('readonly')काम नहीं करता।
मैं readonlyएक विशिष्ट में कैसे जोड़ सकता हूं <input>? .attr('readonly')काम नहीं करता।
जवाबों:
jQuery <1.9
$('#inputId').attr('readonly', true);
jQuery 1.9+
$('#inputId').prop('readonly', true);
प्रोप और एटर के बीच अंतर के बारे में और पढ़ें
$ .Prop () का उपयोग करें
$("#descrip").prop("readonly",true);
$("#descrip").prop("readonly",false);
$.prop(): Prop खाली / खाली स्ट्रिंग के लिए आसानी से विशेषता सेट करेगा, इसलिए यदि आपके पास कोई सीएसएस है जो विशेषता चयनकर्ता का उपयोग करता है [readonly="readonly"], तो आपको इसे [readonly](या दोनों को शामिल करना होगा) बदलना होगा ।
Readonly html में परिभाषित एक विशेषता है, इसलिए इसे एक की तरह व्यवहार करें।
आप जिस वस्तु के साथ काम कर रहे हैं यदि आप उसे संपादन योग्य नहीं बनाना चाहते हैं, तो आपको पठनीय = "पठनीय" जैसा कुछ होना चाहिए। और यदि आप चाहते हैं कि यह फिर से संपादन योग्य हो, तो आपके पास रीडोनली = '' जैसा कुछ नहीं होगा (यह मानक नहीं है अगर मैं सही तरीके से समझा हूं)। आपको वास्तव में संपूर्ण के रूप में विशेषता को निकालने की आवश्यकता है।
जैसे, जौरी का उपयोग करते समय इसे जोड़ना और इसे हटाना यह समझ में आता है।
कुछ आसानी से सेट करें:
$("#someId").attr('readonly', 'readonly');
आसानी से निकालें:
$("#someId").removeAttr('readonly');
यह एकमात्र विकल्प था जिसने वास्तव में मेरे लिए काम किया। आशा है ये मदद करेगा!
.attr('readonly', 'readonly')चाल चलनी चाहिए। आपका .attr('readonly')केवल मान लौटाता है, यह एक सेट नहीं करता है।
.attrमूल्य केवल एक स्ट्रिंग या संख्या, कोई बूलियन नहीं होना चाहिए, jQuery डॉक्स के अनुसार: api.jquery.com/attr/#attr2 इसके अलावा, एचटीएमएल "बूलियन गुण" केवल रिक्त स्ट्रिंग या विशेषता का मान होना चाहिए। मुझे लगता है कि .prop()भ्रम से बचने के लिए समाधान का उपयोग करना है।
मुझे लगता है कि "अक्षम" इनपुट को POST पर भेजे जाने से बाहर रखता है
आसानी से सक्षम करने के लिए:
$("#descrip").attr("readonly","true");
आसानी से अक्षम करने के लिए
$("#descrip").attr("readonly","");
SetAttribute संपत्ति का उपयोग करें। उदाहरण में ध्यान दें कि यदि 1 का चयन टेक्स्टबॉक्स में रीडोनॉली विशेषता को लागू करता है, तो अन्यथा एट्रिब्यूट को आसानी से हटा दें।
http://jsfiddle.net/baqxz7ym/2/
document.getElementById("box1").onchange = function(){
if(document.getElementById("box1").value == 1) {
document.getElementById("codigo").setAttribute("readonly", true);
} else {
document.getElementById("codigo").removeAttribute("readonly");
}
};
<input type="text" name="codigo" id="codigo"/>
<select id="box1">
<option value="0" >0</option>
<option value="1" >1</option>
<option value="2" >2</option>
</select>
JQuery के संस्करण के लिए <1.9:
$('#inputId').attr('disabled', true);
JQuery संस्करण के लिए> = 1.9:
$('#inputId').prop('disabled', true);