我有两个复选框和两个验证消息span元素(如asp.mvc客户端验证)
<%: Html.LabelFor(m => m.Agree)%> <br />
<%: Html.CheckBoxFor(m => m.Agree, new { @class = "required" })%><br />
<span id="Agree_validationMessage" class="field-validation-valid">Error</span>
<br />
<div class="optional">
<%: Html.LabelFor(m => m.Accept)%> <br />
<%: Html.CheckBoxFor(m => m.Accept, new { @class = "required" })%><br />
<span id="Accept_validationMessage" class="field-validation-valid">Error</span>
</div>
<br />
我有这样的自定义复选框验证:
function changeChekbox(element) {
var errorDisplayElementId = '#' + $(element).attr('id') + '_validationMessage';
if (($(element).is(":checked") == false) && $(element).is(":visible") && $(element).is(".required")) {
$(errorDisplayElementId.toString()).removeClass('field-validation-valid').addClass('field-validation-error');
return 1;
}
else {
$(errorDisplayElementId.toString()).removeClass('field-validation-error').addClass('field-validation-valid');
return 0;
}
}
从这种情况调用:
$('form input:checkbox').change(function (event) {
changeChekbox(event.target);
});
它在Fx上非常有效。当我选中此复选框消息时,取消选中此复选框消息下的复选框消息。 问题: 在IE9上,第一个复选框消息不会消失,但在选中第二个复选框时它会消失。
最好的问候保罗。