function for required field of dynamic validation rule
在下面的代码中,必须确定是否需要该字段的函数不起作用。 该代码涉及一个网站,其中一些文本字段('person_item')和复选框('chckbox')是动态创建的,然后添加验证规则。 如果选中了一个集合的复选框,则必须验证相关的"person_item"文本字段(否则不验证)。
我想我理解为什么'required'的功能不起作用(因为'nr',但我不知道如何编写正确的代码)。(PS:验证规则确实适用于'maxlength'和' 浮动'验证类型)
1 2 3 4 5 6 7 8 9 | for(var nr=0;nr<maxitems;nr++){ form = getSingleform(nr,type); $("#wrapper").append(form); $("#person_item"+nr).rules("add", { required: function(element) {return ($('#chckbox'+nr).is(':checked') ); }, maxlength: 3, float:true, }); //rules add }//for |
您需要使用立即执行的函数来关闭
1 2 3 4 5 6 7 8 9 10 11 | for(var nr=0;nr<maxitems;nr++){ form = getSingleform(nr,type); $("#wrapper").append(form); $("#person_item"+nr).rules("add", { required: (function(nr) { return function(element) {return ($('#chckbox'+nr).is(':checked') ); }; })(nr), maxlength: 3, float:true, }); //rules add }//for |
请参阅为什么此函数包含在括号中,后跟括号? 有关在Javascript中立即执行函数的说明。