使用IE9进行复选框验证和自定义验证

时间:2012-02-15 07:59:22

标签: javascript jquery asp.net-mvc internet-explorer

我有两个复选框和两个验证消息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上,第一个复选框消息不会消失,但在选中第二个复选框时它会消失。

最好的问候保罗。

0 个答案:

没有答案