单选按钮单击不起作用

时间:2010-12-21 16:24:12

标签: jquery

我的MVC页面上有两个单选按钮。当我单击“是”按钮时,它会启用文本框,但是当我单击“否”时,它不会禁用文本框。可能是什么问题?

    $('#rdoDate').click(function () {
        debugger;
        switch ($(this).val()) {
            case 'N':
                $("#txtDate").attr("disabled", true);
                break;
            case 'Y':
                $("#txtDate").removeAttr("disabled");
                break;
        }
    });

   <%=Html.RadioButton("rdoDate","Y")%><label>Yes</label> 
    <%=Html.RadioButton("rdoDate", "N", true)%><label>No</label>

<%: Html.TextBoxFor(model => model.txtDate, new { id = "txtDate", disabled = true })%> 

1 个答案:

答案 0 :(得分:2)

您无法在html页面上定义两个相同的ID。 如果“rdoDate”是一个ID,则必须为第二行定义另一个ID,如:

<%=Html.RadioButton("rdoDateY","Y")%><label>Yes</label> 
<%=Html.RadioButton("rdoDateN", "N", true)%><label>No</label>

但如果它是一个名称,问题出在你的Js代码中,你试图访问ID元素(通过#)而不是名字元素(我不知道Html.RadioButton)。 如果是这种情况,您应该找到您的元素:

$('input[name="rdoDate"]').click (...);

希望这会有所帮助:)