多个动态生成的字段上的jquery验证(使用rails 3.1中的嵌套属性)

时间:2011-12-22 21:50:27

标签: jquery ruby-on-rails validation ruby-on-rails-3.1 nested-attributes

我正在使用jquery验证插件来验证我的rails应用程序的表单。 该表单允许用户动态地将项目添加到表单的主对象的 has_many 关系中。 我的问题是,如何使用jQuery验证插件验证每个项目。例如,关联对象的描述文本字段。

动态添加的表单中的字段名称如下所示: 项目[tickets_attributes] [0] [描述]

其中project是主要对象, tickets_attributes 是与has_many关联的属性关联, 0 (or association object id)唯一身份和说明是 has_many 关联中的属性名称。

2 个答案:

答案 0 :(得分:0)

当您在点击按钮“发送”上添加活动时,您需要使用.live()代替.click().bind()

.live()将接受您的所有动态输入。

<强>更新

.live() 现在从jQuery 1.7开始被弃用,并且已在1.9上删除。请改用.on()

答案 1 :(得分:0)

我认为您正在寻找的是.delegate(),这将允许您将事件处理程序附加到可能动态生成的任何项目。 在下面的示例中,任何具有“dynamic-item”类的项目

例如

$form.delegate(".dynamic-item", "onChange", validate)

这会在您的某个动态元素发生更改时触发验证功能,您可以使用它来调用验证器