私は非常に具体的な問題を抱えており、1 日以来私を悩ませています。機能しない多くのソリューションを試したので、スタックオーバーフローになりました。
問題の説明:
したがって、オブジェクト(ウサギ)の行を表示するページがあり、各行に対して、そのウサギオブジェクトに関連する血清の別のテーブルを含む部門を表示および非表示にするjavascript関数を呼び出すボタンを作成しようとしています。1 匹のウサギには多くの血清があり、そのためテーブルがあります。
問題: ボタンをクリックしてテーブルを表示すると、常に最初の行の血清、つまり最初のウサギ オブジェクトが表示されます。
以下は私のコードです。見て、明らかな間違いや頭に浮かぶ解決策を指摘してください ありがとう
コントローラーの方法:
def lampire_rabbit_list
@rabbits = PolyAnimal.lampire_rabbits
end
モデル方法:
<%= javascript_include_tag :defaults, 'sortable' %>
<%= stylesheet_link_tag "peptide" %>
<h1> Lampire Rabbits </h1>
<style>
div#serums
{
display:none;
}
</style>
<script>
function showHideTable()
{
var status = document.getElementById("serums")
status.style.display = (status.style.display == "table") ? "none" : "table";
}
</script>
<table class="sortable" cellpading="5" cellspacing="2" width="100" >
<tr>
<th> Rabbit Number </th>
<th> Location </th>
<th> Group Name </th>
<th> Transition </th>
<th> Notes </th>
<th> Current Injected Lots</th>
<th> Show Serums </th>
</tr>
<% for rabbit in @rabbits %>
<% vendor = rabbit.vendor.name rescue 'NA' %>
<% serums = rabbit.serums %>
<tr valign = "top" class= "<%= cycle('color_one', 'color_two') %>">
<td><%= rabbit.animal_number %></td>
<td><%= rabbit.location %></td>
<td><%= vendor %></td>
<td><%= rabbit.transition%></td>
<td><%= rabbit.notes%></td>
<td><%= rabbit.current_number_injected_lots %></td>
<td id = "linker"><button onclick = "showHideTable();">click to show</button>
<div id = "serums">
<table>
<%for serum in serums%>
<tr><td align = "center"> <%= link_to "#{serum.bleed_date.strftime("%d-%m-%Y")}", :controller => 'serum', :action => 'report', :id => serum.id rescue ''%></td></tr>
<%end%>
</table>
</div>
</td>
</tr>
<%end%>
</table>