我想在我的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按钮周围它工作但是...在表中只有一行的值发生了变化。什么是正确的方法?
答案 0 :(得分:0)
我猜你忘了将innerHTML的值包装成“”:
onclick="document.getElementById('t1').innerHTML = \"<%= y.method3 %>\"">
另外,看起来您的身份t1
可能超过1 td,这是错误的。因此,请使用类(但在这种情况下,将内部HTML分配给具有类someClass
的所有元素的代码将会更大)