我有一个表单,“您的帐单地址与您的送货地址相同”字段.如果用户单击单选按钮“否”,则显示隐藏的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' });
如果需要,这种方法可以使用标准的必需规则.