我正在尝试使用jQuery Validation DOCS中的'errorPlacement',就像那样:
$("#myform").validate({
errorPlacement: function(error, element) {
error.insertAfter(element);
}
});
到目前为止一切顺利,但我真正想要的是在每种情况下在输入和错误标签之间插入< br /> 标记:
<input>
**<br />**
<label class="error">
我尝试过:
error.insertAfter(element.append($('<br />'));
......但没有运气。有一个简单的方法吗? 非常感谢任何帮助。
答案 0 :(得分:2)
你不需要这样做。
只需使用the errorElement
option将默认错误元素从label
(内联)更改为div
(阻止),以便自动换行到下一行。
$("#myform").validate({
errorElement: "div", // default is 'label'
errorPlacement: function(error, element) {
error.insertAfter(element);
}
});
否则,您的代码......
error.insertAfter(element.append($('<br />'));
)
$()
会......
error.insertAfter(element.append('<br />'));
但是,由于append()
正试图将内容放在element
的中,因此仍无法正常工作。
这种方式可以按照您的要求运作......
$("#myform").validate({
errorPlacement: function(error, element) {
element.after(error).after('<br/>');
}
});
答案 1 :(得分:0)
试试这个:
$("#myform").validate({
errorPlacement: function(error, element) {
error.insertAfter(element);
$('<br/>').insertAfter(element);
}
});
但你可以使用css:
input,
label.error {float:left;clear:both;}