applications.js(联动的js)
//仓库库位级联

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");
});

























































