`
wozhidao
  • 浏览: 5933 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

rails jquery的二级联动

阅读更多
$(function(){
   $("#area_parentID").change(function(){
       $("#next_select").html("<select name='streat' id='streat'></select>");
       $.post( 
       "/banks/select_with_ajax",
       {"parentID":$("#area_parentID").val()},
       function(data){
          var datas = eval(data);
	  //alert(datas);
	  $.each(datas,function(i){
              $("<option value='"+datas[i].area.id+"'>"+datas[i].area.name+"</option>").appendTo($("#streat"));
          });	    
       });
   });
});

 

<tr>
<td>地域</td><td><%= 
  @areas = Area.find(:all, :select => 'name,id',:conditions=>"parentID=0").collect{|t| [t.name,t.id]}.insert(0,["请选择",0])       
  select("area","parentID",@areas,{},{:selected=>1})%><span id='next_select'><select name="streat" id="streat"></select></span></td>
</tr>

 

def select_with_ajax          
      @areas = Area.find(:all, :select => "name,id",:conditions => ["parentID = ?", params[:parentID]])              
      render(:json => @areas.to_json,:layout => false)
  end

 

刚弄的rails+jquery的二级联动,记性不好,在这记下来

4
1
分享到:
评论
2 楼 wozhidao 2009-12-16  
按理说$.post()换成$.getJSON()更好,可不知道为什么,试了很久$.getJSON()都不能返回数据

$.post()返回的是一个json格式的字符串,用eval()转换成对象后才能执行后面的操作
1 楼 夜鸣猪 2009-12-16  


异步以后回调的data为啥要
var datas = eval(data);
涅?

相关推荐

Global site tag (gtag.js) - Google Analytics