六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 45|回复: 0

rails实现省市级联

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-1-23 02:56:08 | 显示全部楼层 |阅读模式
页面代码如下:
省份列表框:
   <%=@resources=Province.find :all ,:conditions=>"resource_level=1"   @provices<<Province.new(:id=>0,:resource_name=>"--请选择省份--") collection_select(:move,"id",@resources,:id,:resource_name,{},:onchange =>"change('move_id','move_city_id')") %>

市列表框:
<select id="move_city_id" name="city[city_id]">     <option value="" selected="selected">--请选择市--</option></select>

js:
         //ajax联动,需要传递两个列表框id        function change(levelone_id,leveltwo_id)        {            new Ajax.Request(            '/manage/ajax_find_leveltwo/'+$(levelone_id).value,                   {                       method: 'get',                       requestHeaders:{Accept:'application/json'},                onComplete: function showResponse(transport)                {                    var json = eval(transport.responseText);                           $(leveltwo_id).options.length=1;                           for(var i=0;i<json.length;i++)                    {                                        var oNewNode=new Option();                               oNewNode.value=json[i].city.id;                               oNewNode.text=json[i].resource.resource_name;                               $(leveltwo_id).options.add(oNewNode);                    }                            },                asynchronous:true,                 evalScripts:true                   });             }


action中代码如下:
  def ajax_find_leveltwo    @citys=City.find :all,:conditions=>"parent_id=#{params[:id]} "    render :text => @citys.to_json  end
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表