我正在使用找到的时间条目小部件 here并找到默认的 jquery 表单验证库 here .我已经设置了我的表单验证器以将错误消息放置在表单元素之后的自定义范围中。例如:
<input type="text" id="event_title" name="event_title" class="required" size="50" maxlength="150" />
<span class="error_ctr"></span>
除时间条目小部件外,这工作正常,创建小部件时看起来像这样。
<span class="timeEntry_wrap">
<input type="text" class="required hasTimeEntry" size="11" value="" name="start_time" id="start_time">
</span><span class="error_ctr">
</span>
原因是因为时间条目小部件将输入元素包装在一个 span 中,jquery 验证试图在输入元素之后找到第一个带有 error_ctr 类的 span。这是我用来告诉验证插件在哪里放置错误消息的代码:
$(".request_form").validate({
errorElement: "div",
errorPlacement: function(error, element) {
error.appendTo( element.nextAll(".error_ctr:first") );
}
});
如何告诉 jquery 将错误信息放在正确的位置?
最佳答案
应该这样做:
error.appendTo( element.closest(".timeEntry_wrap").andSelf().next(".error_ctr") );
注意:根据@pimvdb 的反馈更新
关于jquery树遍历把错误信息放在正确的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14123543/