Rails 4:使用JavaScript按钮更改表值

时间:2015-02-18 11:05:15

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

我想在我的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 %>

果然我得到了未申报的方法&#34; y&#34;。但是,如果我把循环放在javascript按钮周围它工作但是...在表中只有一行的值发生了变化。什么是正确的方法?

1 个答案:

答案 0 :(得分:0)

我猜你忘了将innerHTML的值包装成“”:

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

另外,看起来您的身份t1可能超过1 td,这是错误的。因此,请使用类(但在这种情况下,将内部HTML分配给具有类someClass的所有元素的代码将会更大)