-1

私は非常に具体的な問題を抱えており、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>
4

1 に答える 1

0

私はちょうどそれを理解しました。各ウサギのウサギ ID を変数として JavaScript 関数に渡す必要がありました。ドッ!!!!

于 2013-11-07T17:31:09.107 に答える