テーブル内のユーザーがボタンをクリックしたときに、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でこれを行う方法がわかりません。
誰かがこれのコードを教えてくれますか? ありがとう