0

现在我的表单使用以下规则完美地工作,在我的表单输入右侧添加带有绿色刻度标记或红色错误消息的标签:

highlight: function(label) {
            $(label).closest('.form-element').addClass('error')
            .closest('.form-element').removeClass('success');;
        },
        success: function(label) {
            label
            .text('OK!').addClass('valid')
            .closest('.form-element').addClass('success');
        },

相关的CSS是:

#jqvForm label.valid {
  width: 16px;
  height: 16px;
  background: url("../images/tick.png") center center no-repeat;
  display: inline-block;
  text-indent: -9999em !important;
  position: absolute;
}
#jqvForm label.error {
  color: red;
  display: inline;
  float: none;
  font-size:11px;
  font-weight: bold;
  margin-left: 10px;
  text-align: left;
  padding: 2px 8px;
  margin-top: 2px;
}

但是 - 我在用户必须同意条款和条件的页面上有一个复选框。将错误消息或刻度线放在它旁边看起来真的很糟糕。

有没有一种方法可以为复选框设置不同的突出显示/成功功能?还是我最好不要对这个框使用验证,而只是使用其他东西来确保选中该框?

4

1 回答 1

1

选项文档 中它说覆盖突出显示以决定哪些字段以及如何突出显示,所以如果你的 t+c 复选框有一个类“myCheckbox”你可以做这样的事情

success: function (label) {
    if (label.hasClass('myCheckbox')) {
        // do something with the checkbox
    }
    else {
        // do something with other fields
    }
},
highlight: function (element, errorClass) {
    var v = $(element);
    if (v.hasClass('myCheckbox')) {
        // do something with the checkbox
    }
    else {
        // do something with other fields
    }
}
于 2012-12-19T10:59:26.763 回答