我有一个包含几组复选框和单选按钮的表单。单选按钮的错误消息始终直接显示在组中的第一个单选按钮之后。我能够在错误复选框下方显示错误消息。但是,对于单选按钮,我没有任何运气。收音机和复选框的所有名称属性都不同(呃)。这是我目前的代码......
jQuery("body.page-user-register input[type=checkbox]").addClass("certboxes");
jQuery.validator.addMethod('certboxes', function (value) {
return jQuery('.certboxes:checked').size() > 0; }, 'Please check at least one box.');
var checkboxes = jQuery('.certboxes');
var checkbox_names = jQuery.map(checkboxes, function(e,i) { return jQuery(e).attr("name")}).join(" ");
groups: {checks: checkbox_names},
errorPlacement: function(error, element) {
if (element.attr("type") == "checkbox") {
error.insertAfter(checkboxes.parent().last());
}
else {
error.insertAfter(element);
}
}
答案 0 :(得分:3)
我一直在寻找这个问题的解决方案,并找到了这个相关(并已解决)的问题。更新任何偶然发现此事的人。
答案 1 :(得分:2)
这对我有用:
errorPlacement: function(error, element) {
error.appendTo(element.parent());
}
或者,可以使用:
errorPlacement: function(error, element) {
error.appendTo(element.parent().siblings('.new container for errors'));
}