我正在尝试使用jQuery Validation DOCS中的"errorPlacement",如下所示:
$("#myform").validate({
errorPlacement: function(error, element) {
error.insertAfter(element);
}
});
到目前为止一切顺利,但我真正想要的是每种情况下在输入和错误标签之间插入一个
标签:
<input>
**<br />**
<label class="error">
我尝试过:
error.insertAfter(element.append($('<br />'));
。但没有运气。有没有简单的方法可以做到这一点?任何帮助都非常感谢。
你不需要这样做。
只需使用 errorElement
选项将默认错误元素从 label
(内联)更改为 div
(块),以便它自动换行到下一行。
$("#myform").validate({
errorElement: "div", // default is 'label'
errorPlacement: function(error, element) {
error.insertAfter(element);
}
});
否则,您的代码...
error.insertAfter(element.append($('<br />'));
- 缺少右括号,
)
- 格式不正确...你不要在jQuery选择器中附加一个字符串,
$()
将。。。
error.insertAfter(element.append('<br />'));
但是,这仍然无法按预期工作,因为append()
正试图将内容放入element
.
这种方式按照您的要求工作...
$("#myform").validate({
errorPlacement: function(error, element) {
element.after(error).after('<br/>');
}
});
演示:http://jsfiddle.net/1pfvug7r/
试试这个:
$("#myform").validate({
errorPlacement: function(error, element) {
error.insertAfter(element);
$('<br/>').insertAfter(element);
}
});
但是你可以使用 css:
input,
label.error {float:left;clear:both;}