我如何添加只读到特定的<输入>?.attr('readonly')不起作用。


当前回答

Readonly是html中定义的一个属性,所以把它当作一个属性来对待。

如果你想让对象不可编辑,你需要在对象中有类似readonly="readonly"的东西。 如果你想让它再次可编辑,你就不会有像readonly= "这样的东西(如果我理解正确的话,这不是标准的)。您确实需要整体删除该属性。

因此,在使用jquery时添加和删除它是有意义的。

设置为只读:

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

删除只读的:

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

这是唯一对我有效的选择。 希望能有所帮助!

其他回答

我认为“disabled”排除了POST上发送的输入

使用$ .prop ()

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

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

jQuery < 1.9

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

jQuery 1 + 9。

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

阅读更多关于prop和attr的区别

检查下面的代码:

<input id="mail">

<script>

 document.getElementById('mail').readOnly = true; // makes input readonline
 document.getElementById('mail').readOnly = false; // makes input writeable again

</script>

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