Jquery表单验证插件,如何选择动态生成的输入元素进行验证?

时间:2009-11-16 06:01:38

标签: jquery validation jquery-plugins

我使用Jquery表单验证插件在提交之前验证表单中的输入,有一些输入元素被命名为“question1”,“question2”,“question3”,......,它们是动态生成的那么如何在Jquery插件函数validate()中验证这些输入元素?我需要一种方法来首先选择它们。

$(document).ready(function() {
    $("#formname").validate({
        rules: {
            title: {
                required: true,
                minlength:40
            },
            content: {
                required: true,
                minlength:100,
                maxlength:2000
            }
        },
        messages: {
        }
    });
});

标题,内容是同一表单中的其他输入元素,它们不是动态生成的,因此只需按名称即可轻松验证。那么如何验证“问题1”,“问题2”,“问题3”,......当然我可以这样写:

 question1: {
                required: true,
                minlength:40
            },
      question2: {
                required: true,
                minlength:40
                    },
         question3: {
                required: true,
                minlength:40
            },
         ...

但是,正如我所说,这些输入元素是动态生成的,我无法预测有多少“问题”。那么如何做好这份工作呢?

2 个答案:

答案 0 :(得分:1)

您必须在每个动态创建的元素上放置一个class =“question”属性,以便您可以对它们执行jQuery选择器。

$(".question").validate({  etc...  

答案 1 :(得分:0)

我希望我理解这个问题:

您可以在OnChange处理程序中写入每个创建的元素。然后,这将为您调用验证例程。通过将验证绑定到元素,这不是一种不显眼的方法,但它可以工作。

JQuery尝试使用它来协助动态元素:http://docs.jquery.com/Events/live#typefn

但是.live目前不支持变更事件。

另一个图书馆可能。谷歌周围和看到。