0

我以前从未在 Rails 中使用过 JQuery,但需要它来制作一个可点击的按钮,以便在点击它时打开一个表单(当前是隐藏的)——我遇到的问题是在 Rails 中专门使用它,因为我不知道如何以及在何处包含 jquery 代码(到目前为止,我已经安装了 jQuery gems)

这是我认为的代码:

    <td>
        <div class="file_description"><%= object.metadata['description']%> <button type="button" class="btn btn-default edit_description">Edit</button></div>
        <div 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> 

现在我已经隐藏了 div.file_description_update 类

这是我可能用于 jquery 的代码:

 var hiddenBox = $( "div.file_description_update" );
    $( "button.edit_description" ).on( "click", function( event ) {
    hiddenBox.show();
    }); 

有人可以让我知道我为此目的使用的 jquery 是否正确,以及我可以在哪里以及如何在我的 rails 应用程序中包含 jquery 代码(哪个文件?)

++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++

我不确定我是否应该发布一个新问题,但是从我拥有的 jquery 代码中,我需要修改我现有的代码,以便只显示一个隐藏的 div 元素 PER BUTTON ---现在---使用我使用的代码单击当我只需要为每个相应的按钮显示一个表单时,在按钮上显示所有隐藏的表单 --- 这里有一些额外的细节:

  1. HTML 代码与原始问题中的相同。

  2. 这是我用于按钮单击的 Jquery 代码:

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

  1. 我作为我的问题发布的整个 html 代码都在一个循环中,因此“td”元素每次都会为以表格格式显示的每个文件生成 - 因此,我在显示所有隐藏的文件时遇到问题只需单击一个按钮即可在表格中显示 td' 元素(而不是仅显示相应按钮的特定隐藏 'td' 元素)

如果有人可以帮助我,我真的很感激。谢谢!

4

1 回答 1

0

代码是正确的,但您需要放入 document.ready 部分:

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

编辑:如果您需要使用此变量,请将其放在本文档准备部分之外

于 2013-08-22T06:13:54.567 回答