【发布时间】:2016-02-28 21:47:36
【问题描述】:
我有一个由 Rails 动态命名的表单,例如 ID 发生变化的“edit_project_id”。如何为任何表单“edit_project%”启用 jquery 验证?
我试图根据这个将名称作为数据属性传递给我的 javascript/coffee http://railscasts.com/episodes/324-passing-data-to-javascript 但没有运气
我已经添加了这个标签来传递名称变量
<%= content_tag "div", id: "form_name", data: {name: "edit_user_#{@project.id}" } %>
然后在我的咖啡中我尝试使用它但没有运气
jQuery ->
$('#form_name').data('name').validate(
lang: 'sk'
rules:
'project[amount]': min: 1
highlight: (element) ->
$(element).parent().addClass 'state-error'
return
unhighlight: (element) ->
$(element).parent().removeClass 'state-error'
return
);
最后,我希望我的咖啡脚本验证每个用于 edit_project 的表单无关 ID..如果可以使用一些通配符或传递变量,对我来说都可以,只是不知道该怎么做
【问题讨论】:
-
我不太确定你的 JS 的第一行是什么——$ 符号只是调用 jQuery 的另一种方式,不是吗?另外,我认为 Railscast 在 turbolinks 之前,所以如果你使用的是 turbolinks,那么你应该调用 $.document.ready()。
-
这是我在新项目和作品中使用的,所以我尝试改变获取元素名称的方式
jQuery -> $('#new_project').validate( lang: 'sk' rules: 'project[amount]': min: 1 highlight: (element) -> $(element).parent().addClass 'state-error' return unhighlight: (element) -> $(element).parent().removeClass 'state-error' return );
标签: jquery ruby-on-rails ruby-on-rails-4 coffeescript jquery-validate