如何添加“只读”属性到<input>?
如何将readonly
添加到特定的<input>
? .attr('readonly')
不起作用。
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);