使用jquery使textarea只读

时间:2010-07-21 09:37:35

标签: jquery

对于文字input,我这样做:

$('input[type="text"]').each(function(){
  $(this).attr('readonly','readonly');
});

但是我应该为textarea做些什么,让它成为readonly

6 个答案:

答案 0 :(得分:71)

将其包含在您的选择器中(使用multiple / element选择器),如下所示:

$('input[type="text"], textarea').attr('readonly','readonly');

You can test it here,如果它只是您正在做的 ,则不需要.each(),您只需在所有匹配的元素上调用.attr()即可

答案 1 :(得分:16)

在最新版本的jQuery中,使用方法prop比使用attr更受欢迎。

只读一个特定的textarea:
$('#mytextarea1').prop('readonly', true);

使所有textareas只读:
$('textarea').prop('readonly', true);

使所有'text'字段只读:
$('input[type=text]').prop('readonly', true);

使所有'text'字段和textarea只读:
$('input[type=text],textarea').prop('readonly', true);

请注意“外观”和“禁用”之间在外观上的区别:

以下<textarea> disabled设置为true
Textarea disabled(看起来与常规文本区不同)

以下<textarea> readonly设置为true
textarea readonly(看起来与常规textarea相同)

答案 2 :(得分:12)

从Jquery 1.6使用

$("#mytxtarea").prop("disabled", true);

访问http://api.jquery.com/prop/

答案 3 :(得分:8)

试试这个

$("#mytxtarea").attr("disabled", "disabled");

答案 4 :(得分:2)

答案 5 :(得分:0)

你可以写

$("textarea").attr("readonly", "readonly");

这将使所有textarea字段只读。