如何将readonly
添加到特定<input>
? .attr('readonly')
不起作用。
答案 0 :(得分:496)
jQuery&lt; 1.9
$('#inputId').attr('readonly', true);
jQuery 1.9 +
$('#inputId').prop('readonly', true);
答案 1 :(得分:145)
使用$.prop()
$("#descrip").prop("readonly",true);
$("#descrip").prop("readonly",false);
答案 2 :(得分:24)
Readonly是html中定义的属性,因此将其视为一个属性。
如果您希望它不可编辑,您需要在正在使用的对象中使用readonly =“readonly”。 如果你希望它再次可编辑,你就不会有像readonly =''这样的东西(如果我理解正确的话,这不是标准的)。你真的需要删除整个属性。
因此,使用jquery添加它并删除它是有道理的。
只读一下:
$("#someId").attr('readonly', 'readonly');
删除只读:
$("#someId").removeAttr('readonly');
这是唯一真正适合我的选择。 希望它有所帮助!
答案 3 :(得分:20)
.attr('readonly', 'readonly')
应该做到这一点。您的.attr('readonly')
仅返回该值,但未设置该值。
答案 4 :(得分:16)
我认为“禁用”会排除在POST上发送的输入
答案 5 :(得分:11)
您可以使用.removeAttr;
禁用只读$('#descrip').removeAttr('readonly');
答案 6 :(得分:5)
启用只读:
$("#descrip").attr("readonly","true");
禁用只读
$("#descrip").attr("readonly","");
答案 7 :(得分:3)
使用setAttribute属性。请注意,例如,如果select 1在textbox上应用readonly属性,否则只读取readonly属性。
http://jsfiddle.net/baqxz7ym/2/
short x = 50,y=40;
short z = (short)(x + y);//THIS COMPILES
short z2 = (short) x + y;//THIS DOESN'T
答案 8 :(得分:-2)
检查下面的代码:
<input id="mail">
<script>
document.getElementById('mail').readOnly = true; // makes input readonline
document.getElementById('mail').readOnly = false; // makes input writeable again
</script>
答案 9 :(得分:-3)
对于jQuery版本&lt; 1.9:
$('#inputId').attr('disabled', true);
对于jQuery版本&gt; = 1.9:
$('#inputId').prop('disabled', true);