Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery验证插件-仅在可见时验证隐藏元素_Jquery_Validation - Fatal编程技术网

jQuery验证插件-仅在可见时验证隐藏元素

jQuery验证插件-仅在可见时验证隐藏元素,jquery,validation,Jquery,Validation,我有一个表格,上面有一个“你的账单地址和你的送货地址相同吗”字段。如果用户单击单选按钮“否”,则会显示隐藏的ul#billingAddress。如果ul#billingAddress中包含的字段可见,即如果ul具有display:block,则需要该字段 如何为jquery validate.js编写一个只在字段可见时才需要的自定义addMethod?这就是我所拥有的不起作用的东西 $.validator.addMethod ("BillingSameAsShipping", function(

我有一个表格,上面有一个“你的账单地址和你的送货地址相同吗”字段。如果用户单击单选按钮“否”,则会显示隐藏的ul#billingAddress。如果ul#billingAddress中包含的字段可见,即如果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中的每个变量都有效


谢谢

可见检查的问题在于此部分:
.is('visible')
必须是:
.is(':visible')
才能使用


作为替代方案,您可以使用来更轻松地完成所需的操作,如下所示:

$("#myForm").validate({
  //other options
  ignore: ':hidden'
});

这种方法可以让您根据需要使用标准规则。

您是否尝试过让它们不仅不可见,而且将其设置为禁用?这只是一个猜测,但由于禁用的表单字段无论如何都不会被传输,我希望不会对它们进行验证。我不必禁用它们,我只希望它们只在可见时进行验证。除非让他们残疾更容易?我的意思是让他们隐形和残疾。有了jQuery,这就足够简单了。是的,我知道如何做到这一点,我宁愿按照我最初的问题,让它们只在可见时才被需要