Jquery 验证消息不会从级联控件MVC中消失
这是一个相当烦人的问题。我有一个绑定到模型的表单。有一些必填字段。它们中的大多数依赖于一个下拉列表。如果我加载页面并直接单击Submit按钮,则会显示所有验证消息。现在,如果我从下拉列表中选择一个值,“B”和“C”下拉列表的值将自动填充。但是bot的验证消息仍然可见。感谢您的帮助 以下是我的html:Jquery 验证消息不会从级联控件MVC中消失,jquery,asp.net-mvc-4,unobtrusive-validation,Jquery,Asp.net Mvc 4,Unobtrusive Validation,这是一个相当烦人的问题。我有一个绑定到模型的表单。有一些必填字段。它们中的大多数依赖于一个下拉列表。如果我加载页面并直接单击Submit按钮,则会显示所有验证消息。现在,如果我从下拉列表中选择一个值,“B”和“C”下拉列表的值将自动填充。但是bot的验证消息仍然可见。感谢您的帮助 以下是我的html: <div>@Html.DropDownListFor(model => model.A, (IEnumerable<SelectListItem>)this.View
<div>@Html.DropDownListFor(model => model.A, (IEnumerable<SelectListItem>)this.ViewBag.Breed, "Select Breed", new { @class = "width100" })</div>
<div class="eror_msg">@Html.ValidationMessageFor(model => model.A)</div>
<div>@Html.DropDownListFor(model => model.B, Enumerable.Empty<SelectListItem>(), "Select Skin Color", new { @class = "width100" })</div>
<div class="eror_msg">@Html.ValidationMessageFor(model => model.B)</div>
<div>@Html.DropDownListFor(model => model.C, Enumerable.Empty<SelectListItem>(), "Select Eye Color", new { @class = "width100" })</div>
<div class="eror_msg">@Html.ValidationMessageFor(model => model.C)</div>
当我从A中选择值时,B和C的值会根据某些条件和业务逻辑自动填充和选择。两者的change()
事件都已触发。但只有A的验证信息消失了。B和C的验证消息仍然可见
供您参考,此视图是局部视图 你有一些代码来演示这个问题吗?请看,您需要显示您的代码,但是假设您的第二个dropdownlist是使用jquery填充的,那么您需要触发第二个dropdownlist
.change()
事件。当用户单击submit按钮本身时,为什么不检查dropdownlist是否已选择值?我正在触发change()事件。但不起作用。消息仍然可见。@StephenMuecke请查看示例代码。
$(document).ready(function(){
$('#A').change(function(){
$.ajax({
success: function(data){
// building html to bind to B and C
$('#B').html(htmlforb).val(2).trigger('change');
$('#C').html(htmlforc).val(5).trigger('change');
}
});
});
});