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>

这里elmbutton元素,在其上调用click事件,你可以使用elm获取该按钮元素的id或类

以上是关于Rails如何获取表中每个对象的Javascript值?的主要内容,如果未能解决你的问题,请参考以下文章

如何将rails数据放入javascrip数组中

如何从多个表中获取数据并将它们与erb中的每个表一起转换

如何根据搜索关键字 rails 从 2 个表中获取数据

Rails:为循环的每次迭代从表中获取数据

【Rails】如何用erb中的each转一个数组中的hash

如何在Rails 5中获取具有匹配ID的连接表中的记录数