jQuery表单验证不检测元素

时间:2013-08-04 09:44:50

标签: jquery jquery-validate

我使用jquery的appendTo()向表单添加输入,但是我遇到了问题。 当我添加这些输入时,jQuery Validation无法检测到它们。

我创建了一个迭代这些输入并添加规则的函数。

$("input[name^=cmp_]").each(function() {
                $(this).rules("add", {
                    minlength: 50,
                    required: true,
                    digits: true

                });
            });

新输入也有唯一的名称cmp_phone1cmp_phone2cmp_phone3cmp_phone4

我的问题是如何在更改后验证表单?

2 个答案:

答案 0 :(得分:1)

我只能猜到你在做什么。

我想你是在页面加载上迭代字段,而不是在添加后应用这些规则。您应该将函数从.each()移动到父作用域,并在元素上添加.apply之后(如果要使用this)。 在这种情况下,我建议您只需使用$(el),然后在第一个参数中传递它。 .each()也自动执行此操作。不需要.apply,只需要调用它。

答案 1 :(得分:-1)

$('input[name^="cmp_"]').each(function() {
                $(this).rules("add", {
                    minlength: 50,
                    required: true,
                    digits: true

                });
            });

试试这个。