JSON 收藏(一)

//倉庫庫位級聯
balocationBybawarehouse = function(bainvent_id,balocation){

//bainvent_id,爲傳進來的id , balocation爲傳進來控件
    var showResponse=function(transport)
 {
  var json = eval(transport.responseText);

//json爲控制器傳進來的數組
  $(balocation).options.length=1;
  for(var i=0;i<json.size();i++){
   var oNewNode=new Option();

//new一個option對象,給option對象賦id和值
   oNewNode.value=json[i].attributes.id;
      oNewNode.text=json[i].attributes.name;
   $(balocation).options.add(oNewNode);
  }
 }
 
 var myAjax = new Ajax.Request(
  '/system/basedata/bawarehouse/balocationBybawarehouse',
  {
   method: 'get',
   requestHeaders:{Accept:'application/json'},
   parameters:'bainvent_id='+bainvent_id,

// parameters:'bainvent_id='+bainvent_id時傳進來的id
   onComplete: showResponse

//指定完成後執行哪個回調函數
  }
 );
}

BawarehouseController(倉庫的控制器)

  #倉庫庫位聯動
  def balocationBybawarehouse
    @balocations = Balocation.find(:all, :conditions => ['bawarehouse_id = ?',params[:bainvent_id]])
    render :text => @balocations.to_json
  end

_form.rhtml(你的頁面)

//在倉庫select框上綁定 onchange事件

//baitem_bainvent_id爲你要綁定控件的id

//change爲動作

//balocationBybawarehouse($("baitem_bainvent_id").value,"baitem_balocation_id");

第一個參數爲要綁定控件的值

第二個參數爲要影響控件的id
$("baitem_bainvent_id").observe('change',function(){
 balocationBybawarehouse($("baitem_bainvent_id").value,"baitem_balocation_id");
});

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章