禁止在禁用radiobuttonlist上调用javascript函数

时间:2013-09-23 09:17:18

标签: javascript asp.net radiobuttonlist

代码

<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表,并将单击事件放在表上。
  • 即使我禁用了radiobutton列表,也会发生点击事件。我需要避免这个问题。请提出一些想法。

2 个答案:

答案 0 :(得分:0)

您编写的代码正是您要求它执行的操作:当用户单击该元素时,该函数将运行。 有两种方法可以改变它以获得所需的效果:

  1. 使用其他活动而非onclick
  2. 停止执行功能
  3. 另一个事件

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

    停止功能

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

答案 1 :(得分:0)

在禁用单选按钮时,将“禁用”类添加到单选按钮&amp;更好的方法来使用jQuery的jQuery如下所示

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

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

    continue with you code here.............
}`);