在客户索引页面上的我的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)替换搜索按钮以节省视图中的空间。
答案 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
希望这对你有帮助