//仓库库位级联
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");
});