我的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 })%>
答案 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 (...);
希望这会有所帮助:)