2017-10-11 30 views
-2

我想獲得當前點擊標識其下面的錶行的圖片。但它總是出現在表格的第一行。我想在點擊的Id下面顯示圖像,幫我解決這個問題。如何讓每個循環中的元素在軌道jquery

我的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> 
+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> 
相關問題