我正在使用jquery验证插件来验证我的rails应用程序的表单。 该表单允许用户动态地将项目添加到表单的主对象的 has_many 关系中。 我的问题是,如何使用jQuery验证插件验证每个项目。例如,关联对象的描述文本字段。
动态添加的表单中的字段名称如下所示: 项目[tickets_attributes] [0] [描述]
其中project是主要对象, tickets_attributes 是与has_many关联的属性关联,
0 (or association object id)
唯一身份和说明是 has_many 关联中的属性名称。
答案 0 :(得分:0)
当您在点击按钮“发送”上添加活动时,您需要使用.live()
代替.click()
或.bind()
。
.live()
将接受您的所有动态输入。
<强>更新强>
现在从jQuery 1.7开始被弃用,并且已在1.9上删除。请改用.on()。.live()
答案 1 :(得分:0)
我认为您正在寻找的是.delegate()
,这将允许您将事件处理程序附加到可能动态生成的任何项目。
在下面的示例中,任何具有“dynamic-item”类的项目
例如
$form.delegate(".dynamic-item", "onChange", validate)
这会在您的某个动态元素发生更改时触发验证功能,您可以使用它来调用验证器