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

Jquery form validation plugin, how to select dynamically generated input elements to validate?

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function() {
    $("#formname").validate({
        rules: {
            title: {
                required: true,
                minlength:40
            },
            content: {
                required: true,
                minlength:100,
                maxlength:2000
            }
        },
        messages: {
        }
    });
});

标题,内容是同一格式中的其他输入元素,它们不是动态生成的,因此仅凭其名称即可轻松进行验证。因此,如何验证" question1 "," question2 "," question3 ",...,当然,我可以这样写:

1
2
3
4
5
6
7
8
9
10
11
12
13
 question1: {
                required: true,
                minlength:40
            },
      question2: {
                required: true,
                minlength:40
                    },
         question3: {
                required: true,
                minlength:40
            },
         ...

但是,正如我所说,这些输入元素是动态生成的,我无法预测有多少个"问题"。那么该怎么做呢?


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

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


我希望我能理解以下问题:

您只需在OnChange处理程序中写入所创建的每个元素。然后,这将为您调用验证例程。这不是通过将验证绑定到元素而获得的简单的方法,但是它可以工作。

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

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

另一个图书馆可能会。谷歌四处看看。