jQuery使用for循环验证添加规则 - 不适用于多个项目

时间:2014-10-01 08:01:14

标签: javascript jquery jquery-validate

我有一个包含动态项目数量的表单。因此表单可能如下所示:

输入ID =第1项: _____ 输入ID =备注1: _____

或有2个项目:

输入ID =第1项: _____ 输入ID =备注1: _____

输入ID =第2项: _____ 输入ID =备注2: _____

我想使用jquery验证来验证此表。我需要的规则是

  • 如果已输入某个项目,则需要该项目的备注。

我创建了以下脚本并将其放在我的jquery.validate()函数调用

            for(i=0;i<=noItems;i++){

                      var itemId = '#NewItem'+ i;
                      var remarksId = '#Remarks'+ i;

                      $(itemId).rules('add', {
                            // Item is required if remarks are entered
                            required : {                    
                                    depends: function(element){
                                            return($(remarksId).val() > 0);
                                    }
                            },
                            messages:         {
                                    required: "Please enter item"                
                            }        
                      });

                     $(remarksId).rules('add', {
                            // Remarks are required if item is entered                                        
                            required : 
                            {
                                    depends: function(element){
                                            return($(itemId).val() > 0);
                                    }
                            },
                            messages: {
                                    required: "Please enter remarks"
                            }                         
                     });                
            } //end for loop 

如果表单中只有1个项目,则上述代码有效,规则可以双向运行。

但是包含2个项目的表单未通过验证,也没有检查任何规则。

我检查了控制台日志,调用表单ID的方法是正确的。不确定为什么它仅适用于1对,但如果有超过1对则不适用于任何一对。

真的很感激为什么这不起作用的一些见解。非常感谢!

0 个答案:

没有答案