我无法弄清楚如何在使用Rails 3创建的表中的字段上执行简单的Javascript任务。
我的表具有用户使用下面的表单添加的特征行(更新数据库并重新加载表的部分)。
表中的列数基于以不同形式提交的属性数。无论连续多少列,它们之后还有一个Total列。表中的每个单元格都有一个text_field输入,其ID基于行对象id和列对象id。
我要做的是为每个单元格创建一个OnChange事件,这样当字段值更改时,Total列将使用该行中所有单元格的text_field输入中的总值进行更新。 / p>
我不知道如何将Rails对象传递给Javascript(所以我可以遍历ID),如果我在控制器中使用动作,我无法弄清楚如何获取DOM元素名称和值,而我也不知道如何使用RJS来做到这一点。谁能提供任何帮助,如何做到这一点?谢谢!
萨拉
答案 0 :(得分:1)
如果您使用jQuery,您可以在文本框上设置一个类并在其上收听更改事件。
示例:
<input type="text" id="WhateverXXX" class="MyValue" />
<script type="text/javascript">
$(function(e) {
$('.MyValue').change(function(e) {
// update the total
});
});
</script>
答案 1 :(得分:1)
在jQuery中,使用相同的类迭代所有元素很容易,因此正确设计文档将有助于此。
也许是这样的:
$('.thing_to_change').live('change', function() { retotal(); });
您的重审功能可以类似:
var total = 0;
$('.thing_to_change').each(function() { total = total + $(this).val() });