【发布时间】:2014-08-05 20:14:01
【问题描述】:
我在 HAML 中定义了一个可编辑文本字段表,如下所示:
%table
%tbody
%tr
%td
-hints.each do |hint|
=form_for(level_source_hint, :remote => true) do |f1|
=text_field_tag 'message' + hint.id.to_s,
level_source_hint.hint, class: 'input-xxlarge'
%td{:id => 'sibling' + hint.id.to_s} ...
请注意,没有提交按钮。如果有人编辑文本字段并按回车键,则会发送更新请求,这有效。
当用户提交表单时,我想用javascript对兄弟节点做一些事情(在第二个%td)。我尝试将:onchange 属性添加到form_for 标记,但它没有显示在生成的html 中。
虽然我可能能够将函数绑定到每个不同的表单,但这样做会很难看,因为我需要为每一行(其数量直到运行时才知道)和每个函数创建一个不同的函数必须硬编码它来自哪一行(例如,它的hint.id)。
我真的需要为每个表单创建和绑定一个函数,还是有更优雅的解决方案?
我正在使用带有 jquery-rails 3.1.10 和 jquery-ui-rails 4.2.0 的 Rails 4.0.3。
【问题讨论】:
标签: javascript html ruby-on-rails forms haml