使用rails 4.2.1应用程序中的javascript实现对搜索栏的显示/隐藏

时间:2016-07-02 14:02:14

标签: javascript ruby-on-rails

我想等待javascript隐藏功能,直到我的搜索完成,以便我可以从上面进行进一步的搜索。

每当我进行搜索时,如果按下回车键,突然我的搜索栏处于隐藏状态。

为了更好地实现可视化和理解,请按照下面的屏幕截图进行操作;

screenshot.png

index.html.erb

<a href="#" class="toggle-formed" style="float: right;" >Search</a>

                <div id="sample" class="<%= @xvaziris_data.present? ? 'hidden' : '' %>">

                    <%= form_tag xvaziris_path, method: 'get', class: "form-group", role: "search" do %>
                    <p>
                        <center><%= text_field_tag :search, params[:search], placeholder: "Search for.....", class: "form-control-search" %>
                            <%= submit_tag "Search", name: nil, class: "btn btn-md btn-primary" %></center>
                        </p>
                        <% end %><br>

                        <% if @xvaziris.empty? %>

                        <center><p><em>No results found for.</em></p></center>              

                        <% end %>

                    </div>

search.js

$(document).on('page:change', function () {
        $("div#sample").hide();

    //    | === HERE
    $("a.toggle-formed").click(function(event) {
        event.preventDefault();
        $("div#sample").fadeToggle();
    });
});

general.scss

.hidden {
  display: none;
}

欢迎任何建议。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

实际上,我通过Ajax实现搜索后得到了它,因为它在不重新加载页面的情况下动态更改数据,并且在搜索完成之前不会隐藏搜索栏,并且只有在页面刷新或重新加载时才会隐藏。那就是......