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