我正在使用jQuery 验证插件,我希望能够errorElement
根据有错误的元素类型动态确定。我知道你可以errorElement
这样:
$("form").validate({
errorElement: "div"
});
但是,我希望能够更改它,以便如果类型是复选框或单选按钮,那么我可以errorElement
将li
. 有谁知道如何做到这一点?谢谢!
我正在使用jQuery 验证插件,我希望能够errorElement
根据有错误的元素类型动态确定。我知道你可以errorElement
这样:
$("form").validate({
errorElement: "div"
});
但是,我希望能够更改它,以便如果类型是复选框或单选按钮,那么我可以errorElement
将li
. 有谁知道如何做到这一点?谢谢!
我正在查看插件中的代码,该errorElement
选项只是寻找一个元素作为其参数。由于没有回调函数errorElement
,我认为没有直接的方法可以在不修改插件本身的情况下实现您的要求。
errorPlacement
也许你可以用回调做点什么。
假设将其保留为 alabel
然后用其他容器包装?或用于errorElement
将它们全部放在 a<span>
中,同时在任何容器中动态使用它们errorPlacement
。wrap
请参阅jQuery.wrap()
。
errorElement: 'span',
errorPlacement: function (error, element) {
var type = $(element).attr("type");
if (type === "radio") {
// custom placement
error.insertAfter(element).wrap('<li/>');
} else if (type === "checkbox") {
// custom placement
error.insertAfter(element).wrap('<li/>');
} else {
error.insertAfter(element).wrap('<div/>');
}
},
演示:http: //jsfiddle.net/uLH4f/