jQuery验证插件-仅在可见时验证隐藏元素
我有一个表格,上面有一个“你的账单地址和你的送货地址相同吗”字段。如果用户单击单选按钮“否”,则会显示隐藏的ul#billingAddress。如果ul#billingAddress中包含的字段可见,即如果ul具有display:block,则需要该字段 如何为jquery validate.js编写一个只在字段可见时才需要的自定义addMethod?这就是我所拥有的不起作用的东西jQuery验证插件-仅在可见时验证隐藏元素,jquery,validation,Jquery,Validation,我有一个表格,上面有一个“你的账单地址和你的送货地址相同吗”字段。如果用户单击单选按钮“否”,则会显示隐藏的ul#billingAddress。如果ul#billingAddress中包含的字段可见,即如果ul具有display:block,则需要该字段 如何为jquery validate.js编写一个只在字段可见时才需要的自定义addMethod?这就是我所拥有的不起作用的东西 $.validator.addMethod ("BillingSameAsShipping", function(
$.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')
才能使用
作为替代方案,您可以使用来更轻松地完成所需的操作,如下所示:
$("#myForm").validate({
//other options
ignore: ':hidden'
});
这种方法可以让您根据需要使用标准规则。您是否尝试过让它们不仅不可见,而且将其设置为禁用?这只是一个猜测,但由于禁用的表单字段无论如何都不会被传输,我希望不会对它们进行验证。我不必禁用它们,我只希望它们只在可见时进行验证。除非让他们残疾更容易?我的意思是让他们隐形和残疾。有了jQuery,这就足够简单了。是的,我知道如何做到这一点,我宁愿按照我最初的问题,让它们只在可见时才被需要