如何将rails中的每个循环元素转换为jquery

时间:2017-10-11 04:50:29

标签: javascript jquery ruby-on-rails

我想获取当前点击的ID在下面的表行中的图片。但它总是出现在表格的第一行之下。我想在点击的Id下面显示图片。帮我解决这个问题。

我的ruby on rails代码是......

 <table>
   <tr>
     <th>ID</th>
     <th>Name</th>
     <th>Address</th>
   </tr>
   <% @student.each do |stu|%>
    <tr>
     <td><%= link_to stu.id ,'#', :onclick => "showImage()"%></td>
     <td><%= stu.name></td> 
     <td><%= stu.address%></td>
    </tr>
    <tr><td colspan='3'><div id="image" style="display: none"><%= image_tag stu.image %></div></td></tr>
    <% end %>
 </table>

javascript代码:

<script>
   function showImage(){
     document.getElementByID("image").style.display='none';
   }
</script>

1 个答案:

答案 0 :(得分:0)

原因是你没有设置你的div包含图片的任何动态ID所以这里试试这个:

1-

   <% @student.each do |stu|%>
    <tr>
     <td><%= link_to stu.id ,'#', :onclick => "showImage(stu.id)"%></td>
     <td><%= stu.name></td> 
     <td><%= stu.address%></td>
    </tr>
    <tr><td colspan='3'><div id="<%=stu.id%>" style="display: none"><%= image_tag stu.image %></div></td></tr>
    <% end %>

2-在脚本标签中更改以下内容:

<script>
   function showImage(image_id){
     document.getElementByID(image_id).style.display='block';
   }
</script>