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目前不支持更改事件。
另一个图书馆可能会。谷歌四处看看。