动态验证规则所需字段的功能

时间:2013-09-13 20:02:13

标签: jquery

在下面的代码中,必须确定是否需要该字段的函数不起作用。该代码涉及一个网站,其中一些文本字段(' person_item')和复选框(' chckbox')是动态创建的,然后添加验证规则。如果选中了一个集合的复选框,则相关的“人物”项目将被删除。必须验证textfield(否则不是)。

我想我理解为什么功能需要'不起作用(因为' nr',但我不知道如何编写正确的代码)。(PS:验证规则适用于' maxlength'和&# 39;浮动'验证类型)

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 个答案:

答案 0 :(得分:1)

您需要使用立即执行的函数来关闭nr

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中立即执行函数的说明,请参阅Why is this function wrapped in parentheses, followed by parentheses?