如何添加“只读”属性到<input>?

如何将readonly添加到特定的<input>.attr('readonly')不起作用。

9 Solutions collect form web for “如何添加“只读”属性到<input>?”

jQuery <1.9

 $('#inputId').attr('readonly', true); 

jQuery 1.9+

 $('#inputId').prop('readonly', true); 

阅读有关prop和attr之间区别的更多信息

使用$ .prop()

 $("#descrip").prop("readonly",true); $("#descrip").prop("readonly",false); 

只读是HTML中定义的一个属性,所以要像一个对待它。

如果您希望它不可编辑,您需要在正在使用的对象中具有像readonly =“readonly”之类的内容。 如果你想再次编辑,你将不会有像readonly =''(如果我理解正确,这不是标准的)。 你真的需要删除属性作为一个整体。

因此,使用jQuery添加和删除它是有道理的。

设置一些只读:

 $("#someId").attr('readonly', 'readonly'); 

删除只读:

 $("#someId").removeAttr('readonly'); 

这是真正为我工作的唯一select。 希望能帮助到你!

.attr('readonly', 'readonly')应该做的。 你的.attr('readonly')只返回值,不设置。

我认为“禁用”不包括在POST上发送的input

您可以通过使用.removeAttr禁用只读:

 $('#descrip').removeAttr('readonly'); 

为了只读:

 $("#descrip").attr("readonly","true"); 

禁用只读

 $("#descrip").attr("readonly",""); 

使用setAttribute属性。 在示例中注意,如果select1将只读属性应用于文本框,否则请只删除该属性。

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); 
  • closures后,我的Bootstrap警报将不会显示
  • 只是禁用滚动不隐藏它?
  • 如何防止在Internet Explorer中cachingjQuery Ajax请求?
  • 什么是jQuery中的console.log?
  • 我可以用jQuery淡入背景图片(CSS:background-image)吗?
  • Javascript:处理每个字母的文字
  • 加载页面时如何禁用锚点“跳转”?
  • 禁止从HTML页面拖动图像
  • JavaScript - 创build对象和使用variables的属性名称?
  • 将焦点设置为dynamic加载的DIV中的字段
  • jQuery .scrollTop(); +animation