如何创建 OnChange“总计”事件来自未知数量文本字段的函数
我无法弄清楚如何对使用 Rails 3 创建的表中的字段执行简单的 Javascript 任务。
我的表具有用户使用下面的表单添加的特征行(更新数据库并重新加载表部分)。
表中的列数取决于以不同表单提交的属性数。无论一行中有多少列,它们后面都有一个 Total 列。表中的每个单元格都有一个 text_field 输入,其 ID 基于行对象 id 和列对象 id。
我想要做的是为每个单元格创建一个 OnChange 事件,以便当字段值更改时,“总计”列将使用该行中所有单元格的 text_field 输入中的总值进行更新。
我不知道如何将 Rails 对象传递给 Javascript(这样我可以循环遍历 ID),如果我在控制器中使用操作,我不知道如何获取 DOM 元素名称和值,而且我不知道也不知道如何使用 RJS 来做到这一点。任何人都可以提供有关如何执行此操作的任何帮助吗?谢谢你!
莎拉
I'm having trouble figuring out how to do a simple Javascript task on fields in a table created with Rails 3.
My table has characteristic rows that the user adds using a form below (which updates the database and reloads the table partial).
The number of columns in the table is based on the number of attributes submitted in a different form. No matter how many columns are in a row, there is also a Total column after them. Each cell in the table has a text_field input, with an ID that is based on the row object id and the column object id.
What I'm trying to do is create an OnChange event for each of those cells, so that when a field value changes, the Total column gets updated with the total value in the text_field inputs of all cells in that row.
I don't know how to pass the Rails objects to Javascript (so I can cycle through the IDs), I can't figure out how to get the DOM element names and values if I use an action in the controller, and I don't know how to use RJS to do this either. Can anyone offer any help on how to do this? Thank you!
Sarah
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用 jQuery,您可以在文本框上设置一个类并监听其上的更改事件。
例子:
If you use jQuery, you can set a class on the textboxes and listen to the change event on it.
example:
在 jQuery 中,可以很容易地迭代具有相同类的所有元素,因此文档的正确设计将在这里有所帮助。
也许是这样的:
您的 retotal 函数可以类似:
In jQuery it'd be easy to iterate over all elements with the same class, so proper design of your document will help here.
Maybe something like this:
Your retotal function can be similar: