【问题标题】:jquery attr(readonly) function not workingjquery attr(只读)函数不起作用
【发布时间】:2013-02-26 18:41:16
【问题描述】:

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

我想让文本框的只读属性在页面加载时为真,在脚本运行时为假。我的代码是这样的:

  function showdiv() {

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

当函数showdiv 运行时,我想让这三个文本框的只读属性为假。我也在脚本运行时使 div 可见。但这并没有使它成为错误。请给我一些建议如何让它运行并告诉我问题出在哪里。

【问题讨论】:

  • 试试$("#txtname").removeAttr('readonly');
  • 谢谢我试过它在我的应用程序中不起作用,但是当我在另一个应用程序中尝试时它起作用了。

标签: jquery asp.net


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    试试这个

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

    或

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        你可以在 jquery 中使用 removeAttr。

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

        【讨论】:

          【解决方案5】:

          文本框的readonly 属性不以true/false 作为值,您只需指定关键字readonly 就像这样,

          <input type="text" id="txtName" readonly />
          

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

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

          test link

          【讨论】:

          • 谢谢我试过它在我的应用程序中不起作用,但是当我在另一个应用程序中尝试时它起作用了。你能告诉我问题出在哪里..
          • 如果你使用asp.net,那么你必须像这样绑定你的控件,$("#&lt;%= txtname.ClientID %&gt;")
          猜你喜欢
          • 2016-11-02
          • 1970-01-01
          • 2012-08-16
          • 1970-01-01
          • 1970-01-01
          • 2016-07-02
          • 2012-09-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多