如何从jquery radiobutton中选择启用/禁用txt?

时间:2018-01-09 15:38:44

标签: javascript jquery webforms

我需要根据radiobutton

中的选项启用/禁用字段

验证

  

此字段仅在“非活动”单选按钮处于活动状态时才有效   选择

关注代码:

单选按钮:

<asp:Label ID="Label40" runat="server" Width="85px" Style="margin-top: 15px; margin-left: 17.2%;">DADOS</asp:Label>
                            <div style="border: solid 2px; height: 22px; width: 316px; margin-left: 50.4%; margin-top: -33px;">
   <asp:RadioButtonList ID="rdbDados" name="rdbDados" CssClass="radioItens2" runat="server" RepeatDirection="Horizontal" Style="width: 319px;">
  <asp:ListItem Text="1º PEDIDO" Value="C" Selected="True"></asp:ListItem>
     <asp:ListItem Text="INATIVOS" Value="I"></asp:ListItem>
    </asp:RadioButtonList>
 </div>

需要启用/禁用的字段:

 <asp:Label runat="server" Width="90">Nº MESES INATIVIDADE</asp:Label>
 <asp:TextBox runat="server" Width="50px" ID="txtInatividade" name="inatividade"></asp:TextBox>

Jquery我试图开发:

$("#<%=rdbDados.ClientID%>").change(function () {
           switch ($("#rdbDados input:radio:checked").val()) {
        case "I":
            $("#inatividade").prop("disabled", false);
            break;
        case "C":
            $("#inatividade").prop("disabled", true);
            break;
    }
});

2 个答案:

答案 0 :(得分:1)

更改

$("#inatividade").prop("disabled", false);

$("#txtInatividade").prop("disabled", false);

您尝试通过它的名称属性而不是ID来访问输入元素。

答案 1 :(得分:1)

也许你想要

$(function() {
  $("[name=rdbDados]").on("click",function() {  // assuming name of radios
    $("#txtInatividade").prop("disabled", this.value=="C");
  });
  $("#txtInatividade").prop("disabled", $("[name=rdbDados]:checked").val()=="C"); // handle load
});

无论如何都不需要开关

$("#idOfTextField").prop("disabled",$("#rdbDados input:radio:checked").val()=="C");