【发布时间】:2011-06-16 17:20:57
【问题描述】:
当使用form_for 帮助器和text_field 调用时,Ruby on Rails 将为它输出的<input /> 元素生成一个唯一的ID。如何生成相同的 id 以供以后包含到稍后生成的 JavaScript 中?
<%= form_for @user do |f| %>
<%= f.text_field :username %>
<% end %>
然后在页面后面:
<%= javascript_tag do %>
$('<%= id of the :username field %>').doSomethingReallyCool();
<% end %>
【问题讨论】:
-
我想指出,赏金中的附加示例只是答案有用的另一个特殊情况。这不是一个不同的问题。为了被接受,答案应该足够通用,以适合原始示例和我的示例。这两个示例都展示了一个需要“获取 Ruby on Rails 生成的表单元素的 id 以在 JavaScript 中引用”的情况。
-
关于当前赏金的元问题meta.stackoverflow.com/q/351561/73226
-
@ClaudioFloreani 不,那不行。请记住,在赏金到期或被授予后,您的赏金文本将不再可见。在赏金消失后,解决赏金问题的答案将毫无意义。请提出一个新问题。
-
@duskwuff 我认为您在制作 cmets 时并不了解这两个示例都是相同一般情况的两个特殊情况。作者只举了一个“Ruby on Rails 生成表单元素的 id”的例子,我再举一个例子。示例 A 和示例 B。但问题是“如何获取 Ruby on Rails 生成的表单元素的 id 以供 JavaScript 参考?”它仍然缺乏一个像样的答案。当前接受的答案(“创建自定义表单构建器”)现在被认为是不好的做法。
-
id 不是 name-of-model_name-of-the-attribute 吗?你不能不给它一个 id 我在 html 选项中指定它吗?
标签: javascript ruby-on-rails forms