【问题标题】:Rails 4: Changing Table Values with JavaScript ButtonsRails 4:使用 JavaScript 按钮更改表格值
【发布时间】:2015-02-18 11:05:15
【问题描述】:

我想在我的 rails 4 脚手架中使用 JavaScript。在我的表中,当我单击一个按钮(javascript 按钮)时,它会更改该表列上的值。我的桌子有一个循环:

<% @x.each do |y| %>
 <%= y.method %>
<% end %>

在那个循环之外,我将拥有:

<button type="button"
  onclick="document.getElementById('t1').innerHTML = <%= y.method1 %>">
  Type 1.
</button>

<button type="button"
  onclick="document.getElementById('t1').innerHTML = <%= y.method2 %>">
  Type 2.
</button>

<button type="button"
  onclick="document.getElementById('t1').innerHTML = <%= y.method3 %>">
  Type 3.
</button>

并且在如上表的循环中:

<% @x.each do |y| %>
 <td id="t1"></td>
<% end %>

果然我得到了未声明的方法“y”。但是,如果我将循环放在 javascript 按钮周围,它可以工作,但是......在表中只有一行的值发生了变化。正确的方法是什么?

【问题讨论】:

    标签: javascript ruby-on-rails ruby ruby-on-rails-4


    【解决方案1】:

    我猜你忘了把 innerHTML 的值包装成 "" :

    onclick="document.getElementById('t1').innerHTML = \"<%= y.method3 %>\"">
    

    另外,您可能有超过 1 个 td,id 为 t1,这是错误的。所以请改用类(但在这种情况下,您的代码将 innerHTML 分配给类 someClass 的所有元素会更大)

    【讨论】:

    • 抱歉,没有显示任何内容。包装什么也没做。我的问题是结果不会循环到其他项目。
    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-18
    相关资源
    最近更新 更多