【发布时间】:2016-09-29 00:24:50
【问题描述】:
我正在开发一个 Rails 应用程序,我对使用 javascript 和 AJAX 非常陌生。
按照此处的说明进行操作:https://github.com/peterwillcn/rails4-autocomplete
我刚刚为表单上的一个字段实现了自动完成功能。
我现在想要做的是,当用户选择自动完成时,我希望用对象对应的值填充公司字段的其余部分。
我知道这需要某种额外的 javascript 和 AJAX 来实现。
我用于自动完成的 javascript 函数是:
$(function() {
var companies = <%Company.all.collect{|company| company.name}%>
$( "#jobCompany" ).autocomplete({
source: companies
});
});
我的表单代码是:
<%= form_for(@job) do |f| %>
<%= f.hidden_field :date, :value=>Time.now %>
<%= f.hidden_field :user_id, :value=>current_user.id %>
<%= f.fields_for :company, @company do |company| %>
<%= company.autocomplete_field :name, autocomplete_company_name_companies_path, placeholder: "Company Name" %>
<%= company.text_field :phone, placeholder: "Company Phone" %>
<%= company.text_field :street, placeholder: "Street" %>
<%= company.text_field :city, placeholder: "City" %>
<%= company.select :state, options_for_select(@states, @states[4]) %>
<%= company.text_field :zip, placeholder: "Zip" %>
<%= company.text_field :email, placeholder: "Company Email" %>
<%= company.text_field :website, placeholder: "Company Website" %>
<% end %>
<% end %>
我想,我需要某种 AJAX 来从自动完成中获取公司对象 ID,然后使用该对象填充其余字段。
正如我所说,我对 javascript 和 AJAX 非常陌生。谁能给我一些关于如何实现这一点的提示?
【问题讨论】:
标签: javascript jquery ajax ruby-on-rails-4 autocomplete