Jquery 搜索后刷新部分网页

Jquery 搜索后刷新部分网页,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,在我的RubyonRails应用程序中,用户可以填写他们的zipcode和门牌号。单击“提交”时,其他两个字段将填充正确的街道名称和城市名称 我希望当我单击submit按钮时,Ajax从我的数据库中检索正确的streetname和city,并将其填充到正确的字段中,这样它将只刷新页面的这一部分,而不是整个网页 <%= form_tag(zipcodes_path, :method => 'get', action: "/", :id => "zipcodes_search",

在我的RubyonRails应用程序中,用户可以填写他们的zipcode和门牌号。单击“提交”时,其他两个字段将填充正确的街道名称和城市名称

我希望当我单击submit按钮时,Ajax从我的数据库中检索正确的streetname和city,并将其填充到正确的字段中,这样它将只刷新页面的这一部分,而不是整个网页

<%= form_tag(zipcodes_path, :method => 'get', action: "/", :id => "zipcodes_search", remote: false) do %>
<%= text_field_tag 'zipcode', params[:zipcode], placeholder: "Postcode", data: {zipcode: true}, :class => "must_be_filled"%>
<%= text_field_tag 'house_number', params[:house_number], placeholder: "Huisnummer", :class => "must_be_filled" %>
<%= submit_tag "Search", :name => nil, :id => "submit_button" %>

<div id="zipcode_results">
  <%= text_field_tag 'street_name', @street_name, :id => "street_name", placeholder: "Straatnaam", readonly: true %>
  <%= text_field_tag 'city', @city, :id => "city", placeholder: "Woonplaats", readonly: true %> 
</div>
“get”,操作:“/”,:id=>“zipcodes\u search”,远程:false)do%>
“必须填写”%>
“必须填写”%>
无,:id=>“提交按钮”%>
“街道名称”,占位符:“Straatnaam”,只读:真%>
“城市”,占位符:“Woonplaats”,只读:true%>
如果需要,我可以使用gon检索streetname和city

我想我需要使用.load()函数,但我刚刚开始使用ajax,所以我有点迷茫


如果您需要更多代码或希望了解其他信息,请告诉我。

在ajax成功函数中使用此功能

$('#divid').html(result); 
它将刷新ajax成功时提到的div刷新, 在表单视图文件中:

<%= form_tag(zipcodes_path, :method => 'get', :action => '/zipcodes/search', :remote => true) do %>
<%= text_field_tag 'zipcode', params[:zipcode], placeholder: "Postcode", data: {zipcode: true}, :class => "must_be_filled"%>
<%= text_field_tag 'house_number', params[:house_number], placeholder: "Huisnummer", :class => "must_be_filled" %>
<%= submit_tag "Search", :name => nil, :id => "submit_button" %>

<div id="zipcode_results">
<%= text_field_tag 'street_name', @street_name, :id => "street_name", placeholder: "Straatnaam", readonly: true %>
<%= text_field_tag 'city', @city, :id => "city", placeholder: "Woonplaats", readonly: true %> 
</div>
我假设zipcodes是资源,所以请检查您的config/routes.rb文件:

resources :zipcodes do
  collection do
    get :search
  end
end
在app/controllers/zipcodes_controller.rb中添加操作:

def search
  # something magical to find a street name and a city by zipcode and put it into @address var
  # for example: @address = { :street_name => 'Lake Shore Dr', :city => 'Chicago' }
  respond_to :js
end
创建一个app/views/zipcodes/search.js.erb文件,并将下一个js代码放在那里:

$('#street_name').val('<%= @address[:street_name] %>');
$('#city').val('<%= @address[:city] %>');
$('#街道名称').val('');
$(“#城市”).val(“”);

希望有帮助。

您在AJAX中使用了什么?这样我可以给你相应的解决方案。哪个库?我正在使用jQuery,谢谢!你可以参考这篇文章,如果你有具体问题,我可以帮你。您可以使用来显示代码,甚至测试代码。
$('#street_name').val('<%= @address[:street_name] %>');
$('#city').val('<%= @address[:city] %>');