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

























































