首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我的AJAX部分加载到rails 3.1中时,如何隐藏搜索按钮并显示微调器?

当我的AJAX部分加载到rails 3.1中时,如何隐藏搜索按钮并显示微调器?
EN

Stack Overflow用户
提问于 2011-11-28 07:40:22
回答 2查看 2K关注 0票数 2

我有一个从Amazon-ecs API (搜索图书)返回结果的partial。返回值大约需要2.5秒,所以我想添加一个微调按钮(理想情况下隐藏搜索按钮),但我很难让它工作。

我已经让javascript用结果刷新了部分。我只是想让按钮给我一个微调(并隐藏搜索按钮),直到部分完成重新加载。

下面是我的主视图(index.html.erb),它呈现了部分搜索结果,每个结果都临时添加为AmazonItems中的一个对象:

代码语言:javascript
复制
<%= form_tag amazon_items_path, :method => :get, :remote => true do %>
  <p>
  <%= text_field_tag :query, params[:query] %>

  <span id="spinner" style="display:none">
    <%= image_tag 'ajax-loader.gif' %>
  </span>

  <span id="search_button">
    <%= submit_tag "Search" %>
  </span>

  </p>
<% end %>

<h1>Searching Amazon</h1>

<div id="amazon_returned">
  <%= render 'amazon_returned' %>
</div>

我唯一的JS代码在update.js.erb文件中,它看起来像这样:

代码语言:javascript
复制
$("#amazon_returned").html("<%=j render 'amazon_returned' %>");

我相信这很容易,但我不能让它工作。谢谢!

编辑:我的部分"_amazon_returned.html.erb“看起来像

代码语言:javascript
复制
<table>
<% for amazon_item in @amazon_items %>
  <td> amazon_item.title </td>
  ...ETC...
<% end %>
</table>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-28 09:57:51

您可以挂钩到before事件来执行此操作:

代码语言:javascript
复制
$(function() {
  $("form").on("ajax:before", function() {
    $("#spinner, #search_button").toggle();
  });
});

然后,在您的update.js.erb中,再次添加以下内容以将它们切换回来:

代码语言:javascript
复制
$("#spinner, #search_button").toggle();
票数 0
EN

Stack Overflow用户

发布于 2011-11-28 23:55:46

按照迪伦的回答,在update.js.erb中添加了切换,并在视图中插入了以下内容:

代码语言:javascript
复制
<script>
$(function() {
 $("#search_button").click(function() {
  $("#spinner, #search_button").toggle();
 });
});
</script>

非常酷!再次感谢你的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8290014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档