我正在调用控制器的action方法,该方法返回bool值。基于此bool输出,我正在检查/取消选中UI中的复选框。这工作正常,直到我查看未选中复选框值的记录。在此之后,所有记录都显示复选框未选中,即使输出为true并且控件正确呈现,并且选中的属性设置为“已检查”。
$.ajax({
url: '@Url.Action("IsUserActive", "Account")',
cache: false,
type: 'POST',
data: { userName: data.UserName },
success: function (output) {
if(output == "True")
$("#isActive").attr("checked", true);
else
$("#isActive").attr("checked", false);
$("#pwdResetModal").modal('show');
}
});
@using (Html.BeginForm("ResetPassword", "Account"))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
<fieldset>
<legend>Registration Form</legend>
<ol>
<li>
@Html.HiddenFor(m => m.UserName, new { id = "userName" })
@Html.LabelFor(m => m.IsActive)
@Html.CheckBoxFor(m => m.IsActive,new { id = "isActive" })
</li>
</ol>
</fieldset>
<button class="btn btn-info">Submit</button>
}
答案 0 :(得分:1)
我用.prop替换了.attr,现在一切似乎都运转正常。
$("#isActive").prop("checked", true);