У меня есть два флажка и два элемента 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 сообщение о первом чекбоксе не исчезает, но исчезает при установке второго чекбокса.
С наилучшими пожеланиями, Пол.