这是一个非常烦人的问题。我有一个绑定到模型的表单。有一些必填字段。他们中的大多数都依赖于一次下拉。如果我加载页面并直接单击“提交”按钮,则会显示所有验证消息。现在,如果我从A下拉列表中选择一个值,则“B”和“C”下拉列表的值会自动填充。但是bot的验证消息仍然可见。任何帮助表示赞赏。
以下是我的HTML:
<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>
jQuery代码:
$(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');
}
});
});
});
当我从A中选择值时,B和C的值会根据某些条件和业务逻辑自动填充和选择。两个change()
事件都被触发了。但只有A的验证信息消失了。 B和C的验证消息仍然可见。
有关您的信息,此视图是部分视图。