Rails如何获取表中每个对象的Javascript值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails如何获取表中每个对象的Javascript值?相关的知识,希望对你有一定的参考价值。
这是我的表:
<tbody>
<% @productos.each do |producto| %>
<tr>
<td><%= producto.codigo %></td>
<td><%= producto.descripcion %></td>
<td><%= producto.stock %></td>
<td><%= button_to '+', "#", method: :get,class: 'btn btn-info btn-sm btn_add' %></td>
</tr>
<% end %>
</tbody>
点击按钮我想得到| producto |的值(每一行)在javascript中并在同一视图中发送到其他表或正确的方法是从td获取值?例:
<td><%= producto.codigo %></td> //in this case how i get the value of this td?
使用Javascript或Jquery。谢谢
答案
首先在每个td al中添加id
<tbody>
<% @productos.each do |producto| %>
<tr>
<td id="code-<%= producto.codigo %>"><%= producto.codigo %></td>
<td id="des-<%= producto.codigo %>"><%= producto.descripcion %></td>
<td id="stock-<%= producto.codigo %>"><%= producto.stock %></td>
<td><%= button_to '+', "#", method: :get,class: 'btn btn-info btn-sm btn_add' %></td>
</tr>
<% end %>
</tbody>
现在在你的按钮中添加一个像这样的属性data-id
<button class="btn btn-info btn-sm btn_add" data-id="<%= producto.codigo %>" type="button">Click</button>//I don't know about Rails so do this code in your language.
现在jQuery在下面给出...
<script>
$(document).on('click','btn_add',function(){
id = $(this).data('id'); //get the clicked button's id
var code = $('#code-'+id).html(); //get the code of that row
var des = $('#des-'+id).html(); //get the description of that row
var stock = $('#stock-'+id).html(); //get the stock of that row
alert('Code - '+code+'<br> Description - '+des+'<br>Stock - '+stock);
});
</script>
另一答案
1-在click事件中传递js代码块中所需的所有变量
<td><%= button_to '+', "#", method: :get,class: 'btn btn-info btn-sm btn_add', :onclick => "get_current_producto(this, '<%=producto.codigo%>', '<%=producto.descripcion%>', '<%=producto.stock%>');" %></td>
2-在这里获取所有变量
<script type="text/javascript>
function get_current_producto(elm, codigo,descripcion, stock ){
//code goes here
//console.log(codigo);
alert(descripcion);
};
</script>
这里elm
是button
元素,在其上调用click事件,你可以使用elm
获取该按钮元素的id或类
以上是关于Rails如何获取表中每个对象的Javascript值?的主要内容,如果未能解决你的问题,请参考以下文章