0

代码

<asp:RadioButtonList ID="rdStatus" onclick="javacript:display();" runat="server" RepeatDirection="Vertical">
<asp:ListItem Text="Temporary Waiver" Value="T" Selected="True"></asp:ListItem>    
<asp:ListItem Text="Never Expires" Value="P"></asp:ListItem>    
<asp:ListItem Text="Expires after the close of:" Value="W"></asp:ListItem>
</asp:RadioButtonList>

我的问题:

  • 在运行期间,为单选按钮列表创建此代码 html 表,并将单击事件放置在表上。
  • 即使我禁用单选按钮列表,也会发生单击事件。我需要避免这个问题。请提出一些想法。
4

2 回答 2

0

您编写的代码完全按照您的要求执行:当用户单击元素时,函数运行。有两种方法可以更改它以获得所需的效果:

  1. 使用另一个事件而不是 onclick
  2. 停止函数执行

另一个事件

您可能希望查看 CHANGE 事件(https://developer.mozilla.org/en-US/docs/Web/Reference/Events/change

停止功能

在函数内部,您可以检查 RadioButtonList 的状态。如果它被禁用,您只需return;从函数中运行而不是运行实际有用的代码。如果您不想更改原始函数,您可以编写一个小包装器,仅在启用 RadioButtonList 时调用它,并将包装器用作“点击”事件的处理程序。

于 2013-09-23T09:31:54.393 回答
0

在禁用单选按钮上,将类添加为“已禁用”到单选按钮和更好的方式来使用 jQuery insted of javascript,如下所示

jQuery("#rdStatus").click(function()`{  

    if(jQuery(this).hasClass("disabled"))
        return false;

    continue with you code here.............
}`);
于 2013-09-23T09:43:21.210 回答