jquery - 如何在rails应用程序中使用jquery自动完成

标签 jquery ruby-on-rails autocomplete

我正在使用rails 4。我尝试在我的应用程序中使用自动完成功能。但是在安装 autocomplete 时,它​​会抛出类似无法找到生成器 autocomplete:install 的错误。

请指导我如何在我的应用程序中使用自动完成功能。

在 View 中

<%= simple_form_for @vehicle_driver,remote: true, html: {class: 'form-inline form-horizontal vehicle_driver' }, :validate => true do |f| %>
<div class="control-group string optional vehicle_driver_vehicle_code">
    <label class="string optional control-label" for="vehicle_code">Vehicle</label>
    <div class="controls">
    <%= f.select :vehicle_id, vehicle_assign_driver, {},{}  %>
     <%= link_to new_vehicle_path do %>
       <span class='icon-plus-sign'></span><br>
    <% end %>

  </div>
 </div> 
 <div class="control-group string optional vehicle_driver_driver_name">
    <label class="string optional control-label" for="driver_name">Driver</label>
    <div class="controls">
    <%= f.select :driver_id,  driver_list, {},{}    %>
     <%= link_to new_driver_path do %>
      <span class='icon-plus-sign'></span><br>
    <% end %>

  </div>
</div>
   <div style="padding-left:15em">
 <%= f.button  :submit, {value:'Assign', class: 'btn btn-primary'} %>
 <span id="updated1" class="inline icon-ok hidden" style="display: none;">Assigned Successfully</span>
</div>
<% end %>

在应用程序 Controller 中

def driver_list
        Driver.where(:driver_allotted => false).map{|i|[i.first_name.capitalize, i.id]}
    end

我正在使用 f.select 在下拉列表中显示驱动程序列表。相反,它将显示在自动完成中。

如何以简单的形式使用自动完成功能。请分享您的想法

最佳答案

很简单:

在 View 中,您需要一个文本字段。

在你的js文件中:

$( "#driver_id" ).autocomplete({ source: "/controller_name?filter_key=attr_name", minLength: 0 });

在您的 Controller 中,您将获得 params[:term] 以及 text_field 值:

if params[:term]
  @drivers = Driver.where(filter_key.to_sym => params[:term]).map(&filter_key.to_sym)
end

请不要将您的驱动程序代码放在 application_controller 中,而应将其放在 driver_controller 中。

关于jquery - 如何在rails应用程序中使用jquery自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19269269/

相关文章:

ruby-on-rails - 如何始终为 Ruby On Rails 中的单个结果返回 JSON 数组?

java - 调整自动完成字段大小黑莓

javascript - 如何检测用户是否离开输入字段?

php - 使用jquery从插入到src标记的html输入字段中获取值

ruby-on-rails - 轮胎搜索不能忽略口音

ruby-on-rails - spree 商务谷歌分析更新

javascript - 分离标签的插件(如 stackoverflow 的输入标签界面)

django - 在 django 中自动完成并允许在未找到时创建用户

javascript - 使用jquery在 anchor 标记的文本之间添加span标记

javascript - 如何处理在给定纸张上打印发票。 20 件/张,如果超过限制,则应转到下一页。最后一页的总金额