我有一个表单,“您的帐单地址与您的送货地址相同”字段.如果用户单击单选按钮“否”,则显示隐藏的ul#billingAddress.如果ul#billingAddress中包含的字段是可见的,那么ul是显示:block.
如何为jquery validate.js编写一个自定义addMethod,只有在字段可见时才需要这些addMethod?这是我没有的工作.
$.validator.addMethod ("BillingSameAsShipping",function(value,element) {
var billingFields = ['billingAddress1','billingAddress2','billingCity','billingState','bilingZip']
if ($("#billingAddress").is('visible') && billingFields.val('') {
return false;
} else
return true;
},"Please fill in the required billing information" );
这显然是笨蛋.我需要使它为每个在var中的工作.
谢谢!
解决方法
可见检查的问题是这个部分:.is(‘visible’)它需要是:.is(‘:visible’)来使用
:visible selector.
作为替代方案,您可以使用ignore option做一些更简单的操作,如下所示:
$("#myForm").validate({
//other options
ignore: ':hidden'
});
如果需要,这种方法可以使用标准的必需规则.