请教二级联动下拉框的问题
需要做一个联动的下拉框,用来选择省份和城市。我的代码如下:
controller:
def test
@provinces = Province.find(:all)
end
def select_with_ajax
#下面这一行本来应该有一个province_id参数的,测试的时候先忽略了一下。
@cities = City.find(:all)
render :partial => "select_city"
end
test.rhtml的代码:
<%= select(:province, :id, @provinces.map {|u| [u.name, u.id]},options = {},
html_options = {"onchange" => remote_function(:with => "'province_id='+value", :update=> 'city_select', :url => { :action => :select_with_ajax })})
%>
<div id='city_select'><select></select></div>
_select_city.rhtml的代码:
<%= select(:city, :id, @cities.map{|u| [u.name,u.id]}) %>
基本上就是这样了。现在的效果是,省份的下拉框里有省的列表,但是城市的下拉框里没东西。
如果把 @cities = City.find(:all) 这一句加到test里,把<%= select(:city, :id, @cities.map{|u| [u.name,u.id]}) %> 这一句加入到test.rhtml里的话,是可以看到全部城市列表的。
看了半天不知道问题出在哪里,特地上来向大家请教一下