我想使用jquery验证插件来验证我的表单。我的错误消息出现在我的大部分输入元素的右侧,但单选按钮只给我带来麻烦。jquery验证错误的位置(单选按钮)
如果我不给div.group类的宽度,错误信息出现在整个页面的外部(因为我假设div的宽度是100%的页面?)没有做任何事情导致错误消息出现在第一个单选按钮而不是第二个单选按钮之后。我不能硬编码一个宽度,因为我想用它在几个宽度的无线电组。我怎样才能使它出现在单选按钮中单选按钮结束的任何地方的右边?
谢谢!
var validator = $("#myForm").validate({
errorElement: "div",
wrapper: "div", // a wrapper around the error message
errorPlacement: function(error, element) {
if (element.parent().hasClass('group')){
element = element.parent();
}
offset = element.offset();
error.insertBefore(element)
error.addClass('message'); // add a class to the wrapper
error.css('position', 'absolute');
error.css('left', offset.left + element.outerWidth());
error.css('top', offset.top);
}
});
然后
<p>
<div class="group">
<label>Gender</label>
Male: <input id="gender_male" type="radio" name="gender" class="required" value="Male" />
Female: <input id="gender_female" type="radio" name="gender" class="required" value="Female" />
</div>
也许只是一种有错误信息出现在组中最后一个单选按钮后?如果我能得到最后一个元素的句柄,我可以相应地更改偏移量。
编辑:啊哈,我只是用div.group {display:inline-block;}。
这是在验证功能,正如消息和规则块。 – Jason 2011-05-05 20:49:18