Rails 4:输入文本框,在索引页

时间:2016-02-18 07:02:18

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2

在客户索引页面上的我的rails应用程序中,我需要一个文本输入框,旁边没有提交按钮。我只想在其中键入客户编号,按下输入按钮,搜索应该有效。如何实现呢?

            <div class="row">
              <%= form_tag customers_path, :method => 'get', class: 'input-group'  do %>
                <%= text_field_tag :search, params[:search], class: 'form-control', placeholder: 'Search Customers' %>
                <span class="input-group-btn">
                  <%= submit_tag "search", class: "btn btn-success btn-md" %>
                </span>
              <% end %>
            </div>

我把它放在客户页面上方客户页面的索引页面之上,所以我不希望这个搜索框加上按钮在我的视图中占用很大的空间。所以我不需要提交按钮。或者有没有办法用右箭头按钮(bootstarp)替换搜索按钮以节省视图中的空间。

2 个答案:

答案 0 :(得分:2)

您可以使用display: none;隐藏提交按钮。表格仍会在回车时提交。

您还可以在单​​击链接时添加带图像的其他链接以及表单提交的触发器。或者您甚至可以根据需要设置按钮的样式。

答案 1 :(得分:2)

首先从代码中删除提交按钮,然后按下输入按钮触发事件,如下所示。

    $('#search').keypress(function (e) 
       {
          if (e.which == '13') {
            get the character typed in the text box and send the parameters
            to controller-action thorugh ajax
               }
            });

从这里参考如何将ajax发送到controller-action

Ruby on rails: How to send an AJAX request to rails controller from login popup along with user given credentials
           在你的控制器/动作中它将是         从数据库执行选择操作

     select bla bla from xyz where column like %params reveived from ajax%

      return it to the calling ajax function

希望这对你有帮助