如何将readonly添加到特定的<input>中?.attr('readonly')不工作。
readonly
<input>
.attr('readonly')
.attr('readonly', 'readonly')应该做的把戏。你的.attr('readonly')只返回值,不设置值。
.attr('readonly', 'readonly')
jQuery & lt; 1.9
$('#inputId').attr('readonly', true);
jQuery 1.9 +
$('#inputId').prop('readonly', true);
阅读更多关于prop和attr的区别
我认为“disabled”排除了POST上发送的输入
启用只读功能:
$("#descrip").attr("readonly","true");
禁用只读
$("#descrip").attr("readonly","");
你可以使用.removeAttr;
$('#descrip').removeAttr('readonly');
使用$ .prop ()
$("#descrip").prop("readonly",true); $("#descrip").prop("readonly",false);
Readonly是html中定义的一个属性,所以把它当作一个属性来对待。
因此,在使用jquery时添加和删除它是有意义的。
设置为只读:
$("#someId").attr('readonly', 'readonly');
删除只读的:
$("#someId").removeAttr('readonly');
使用setAttribute属性。注意,如果选择1,则在文本框上应用readonly属性,否则将删除readonly属性。
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);
检查下面的代码:
<input id="mail"> <script> document.getElementById('mail').readOnly = true; // makes input readonline document.getElementById('mail').readOnly = false; // makes input writeable again </script>