【问题标题】:Gray out one radiobutton based on status of another根据另一个单选按钮的状态灰显一个单选按钮
【发布时间】:2021-11-17 02:01:37
【问题描述】:

除非单击“this”,否则我希望禁用“that”按钮。

但我收到一个 javascript 错误,其中在检查“this”的“已检查”质量时“无法读取 null 的属性”。我指的不是正确的方式吗?

<asp:Content ID="Content2" runat="server">
        <div><asp:RadioButton ID="this" /></div>
        <div><asp:RadioButton ID="that" /></div>

 <script type="text/javascript">
    $(document).ready(function () 
    {
       if (document.getElementById("this").checked == false
        {
            document.getElementById("that").disabled = true;
        } 
        
    });
  </script>
</asp:Content>

【问题讨论】:

    标签: javascript asp.net


    【解决方案1】:

    asp.net 的 id 在渲染时会发生变化。如果控件使用.ClientID 获取呈现的ID。您的代码将如下所示:

     <script type="text/javascript">
        $(document).ready(function () 
        {
           if (document.getElementById("<%=this.ClientID%>").checked == false
            {
                document.getElementById(""<%=that.ClientID%>"").disabled = true;
            } 
            
        });
      </script>
    

    如果你在页面上右击看到页面呈现的html并查看页面源码就会明白这里的问题。

    【讨论】:

      猜你喜欢
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 2016-09-24
      • 2017-03-16
      • 2021-08-27
      • 2016-07-26
      • 2011-10-28
      • 1970-01-01
      相关资源
      最近更新 更多