我的表单中有“您的帐单地址与送货地址相同”字段。如果用户单击单选按钮“否”,则显示隐藏的ul#billingAddress。 ul #countingAddress中包含的字段是可见的,如果ul有display:block。
如何为jquery validate.js编写自定义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。
中的每一个谢谢!
答案 0 :(得分:19)
可见检查的问题在于以下部分:.is('visible')
需要:.is(':visible')
才能使用:visible
selector。
作为替代方案,您可以使用ignore
option来做您想要的更轻松的事情,例如:
$("#myForm").validate({
//other options
ignore: ':hidden'
});
如果您愿意,可以使用此方法使用标准的必需规则。