jquery attr(readonly)函数不起作用

我正在使用AST.Net和jQuery 1.8.3。

我想让一个文本框的readonly属性在pageload上为true,在脚本运行时为false。 我的代码是这样的:

function showdiv() { $("#diviv").fadeIn("slow"); $("#txtname").attr('readonly', false); $("#txtmobile").attr('readonly', false); $("#txtemail").attr('readonly', false); } 

我想在函数showdiv运行时使这三个文本框的readonly属性为false。 此外,我在脚本运行时使div可见。 但这并不是假的。 请给我一些建议如何让它运行并告诉我问题出在哪里。

Readonly是一个布尔属性,这意味着如果它存在,无论它具有什么值,它都将被设置。 由于属性始终是字符串,因此您将其设置为“false”。 请改用prop。

  $("#txtname").prop('readonly', false); 

试试这个

 $("#txtmobile").prop('readonly', false); 

要么

 $("#<%= txtname.ClientID %>").prop('readonly', false); 

readonly是一个布尔属性,这意味着如果它存在,无论它具有什么值,它都将被设置。 由于属性始终是字符串,因此您将其设置为"false" 。 请改用prop

 $("#txtname").prop('readonly', false); 

你可以在jquery中使用removeAttr。

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

文本框的readonly属性不是true/false作为值,所有你必须指定的关键字readonly就像这样,

  

现在,要“禁用”此属性,您必须使用jQuery的.removeAttr()方法删除它,

 $("#txtName").removeAttr("readonly"); 

测试链接