leon0122 发表于 2013-1-23 02:56:08

rails实现省市级联

页面代码如下:
省份列表框:
   <%=@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">   <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.city.id;                               oNewNode.text=json.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_jsonend
页: [1]
查看完整版本: rails实现省市级联