你如何获得一个表单元素的Ruby on Rails生成的id在JavaScript中引用? [英] How do you get the Ruby on Rails generated id of a form element for reference in JavaScript?
本文介绍了你如何获得一个表单元素的Ruby on Rails生成的id在JavaScript中引用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用 form_for
助手和 text_field
调用时,Ruby on Rails将为<它输出的code>< input /> 元素。
When using the form_for
helper and a text_field
call, Ruby on Rails will generate a unique id for the <input />
element that it outputs. How can I generate the same id for later inclusion into JavaScript generated later?
<%= form_for @user do |f| %>
<%= f.text_field :username %>
<% end %>
然后在页面后面:
Then later in the page:
<%= javascript_tag do %>
$('<%= id of the :username field %>').doSomethingReallyCool();
<% end %>
推荐答案
我最终创建了一个自定义表单生成器来公开直接属性
I ended up creating a custom form builder to expose the property directly
class FormBuilder < ActionView::Helpers::FormBuilder
def id_for(method, options={})
InstanceTag.new( object_name, method, self, object ) \
.id_for( options )
end
end
class InstanceTag < ActionView::Helpers::InstanceTag
def id_for( options )
add_default_name_and_id(options)
options['id']
end
end
然后设置默认表单生成器
Then set the default form builder
ActionView::Base.default_form_builder = FormBuilder
这篇关于你如何获得一个表单元素的Ruby on Rails生成的id在JavaScript中引用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文