7
感覺這個問題之前已經被問過,但沒有問題似乎解決了我的問題,所以提前道歉。jQuery驗證單個元素上的errorPlacement
因爲我使用ASP.NET和無法預測我想驗證控件的名字,我建立我的JQuery驗證規則,像這樣:
jQuery('textarea[id$=MessageTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[id$=LinkTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[name$=PositionChoiceInput]').rules("add", { required: true, messages: { required: "required"} });
不是:
$('#aspnetForm')。validate({options and rules}); //需要控制名稱
問題是,第三個規則是radiobuttonlist,並且錯誤消息沒有放在正確的位置。它被放置在第一個單選按鈕之後,而我希望它在最後一個單選按鈕列表之後。
jQuery('textarea[id$=MessageTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[id$=LinkTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[name$=PositionChoiceInput]').rules("add", { required: true, messages: { required: "required"} });
但是,當我添加errorPlacement選項時,似乎無法使用該方法。我也嘗試了以下內容:
jQuery('#aspnetForm').validate({ errorPlacement: function (error, element) {
if (element.hasClass('sfRadioList')) {
error.insertAfter(element.parent("ul"));
}
}
});
jQuery('textarea[id$=MessageTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[id$=LinkTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[name$=PositionChoiceInput]').rules("add", { required: true, messages: { required: "required"} });
但這仍然沒有奏效。我能做些什麼來設置一個元素的位置?
在此先感謝 higgsy
對我來說!感謝您的回答。 – higgsy 2011-06-22 15:57:13