我想使用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