0

テーブル内のユーザーがボタンをクリックしたときに、JQuery を使用して非表示の '' 要素 (css ---> display:none を使用して非表示) を表示しています。Rails、Ruby、JQuery、および HTML を使用しています。

ビューのコード:

     <h2>Files</h2>
<table class="table">
<tr>
<th>Filename</th>
<th>Description</th>
<th>Download Link</th>
</tr>
      <% @files.each do |file| %>
      <% filename = file.split('/').last %>
      <% object = @bucket.objects[file] %>

    <tr>         
      <td><%= filename %></td>  

      <td>
      <div class="file_description"><%= object.metadata['description']%>    
        <button id     ="file3" type="button"  class= "btn btn-default   
          edit_description"   onclick="Window(this)">Edit</button>                      
     </div>
         <div id = file2 class="file_description_update" >
          <%= form_tag({:action => 'update_file_info'}, multipart: true) do %> 
            Update File Description: <%= text_area_tag :description %>
            <%= hidden_field_tag :s3_path, file %>  
            <%= hidden_field_tag :prefix, @prefix %>
            <%= submit_tag 'Submit' %> </td> <br />
          <% end %>
        </div>


      </td> 

      <td><%= link_to "Download", download_url_for(file) %></td>

    </tr>
  <% end %>
  </table>

現在の JQuery コード (1 つのボタンをクリックすると、埋め込まれたルビに form_tag を含むすべての非表示の 'td' 要素が表示されます):

    $(document).ready(function(){ 
    $( "button.edit_description" ).on( "click", function( event ) { 
    $( "div.file_description_update" ).show(); 
    }); 
    });

上記のように、私の表示コードは ruby​​ for ループにあり、現在、任意のボタンをクリックすると既存の Jquery コードを使用して、非表示になっているすべての 'td' 要素がすべてのボタンに表示されます --- 私の必要性はその対応する単一のボタンに対応する非表示の 'td' 要素のみを表示するようにします。HTMLで属性を使用する方法や、Jqueryでこれを行う方法がわかりません。

誰かがこれのコードを教えてくれますか? ありがとう

4

1 に答える 1