2012-03-22 75 views
0

如何将两个输入字段与jQuery自动完成插件关联?例如,我有两个字段:城市和街道。因此,当我选择某个城市时,我想在街道字段中看到所选城市的街道。jQuery自动完成中的两个字段

+0

城市和街道字段是一种形式 – Damir 2012-03-22 13:17:45

回答

0

我会让街道自动完成数据源提交城市字段的值作为街道数据源的参数。

我的jQuery的调用会从city_field抢值:

$(function() { 
    $('#street_field').autocomplete({source: '/autocomplete/street?city="' + $(this).siblings('input[id=city_field]').val() + '"'}); 
}); 

在我的自动完成控制器(什么提供了我所有的自动完成数据):

class AutocompleteController < ApplicationController 
    def street 
    if params[:term] 
     like= "%".concat(params[:term].concat("%")) 
     streets = Street.where("city like ? and name like ?", params[:city], like) 
    else 
     streets = Street.where("city like ?", params[:city]) 
    end 
    list = streets.map {|u| Hash[ id: u.id, label: u.name, name: u.name]} 
    render json: list 
    end 
end 

如果这不是你正在寻找,发布一些示例代码,以帮助我们更好地了解您的想法。