//obj:主select菜单对象;
//aspaddress:asp处理文件地址以及要传递的参数;
//toobj:从select菜单对象;
//firstxml:返回的第一个XML节点名;
//secondxml:返回的第二个XML节点名;
//toobjoptionlength:从select菜单对象初始option个数;
//注意:在传递各个对象值得时候,尽量使用$(id),比如,传递地址中需要?id=obj.value时,地址最好改成?id=$(obj)
//aspaddress,toobj后续联动中,这两个必选,后面不填将按照前面一个
function AjaxSelectOption(obj,aspaddress,toobj,firstxml,secondxml,toobjoptionlength)
{
var argus=arguments;
var XmlHttp=new XMLHttpRequest();
if(typeof(obj)=="string"){obj=document.getElementById(obj);}
aspaddress=aspaddress.replace(//$/(([^/)]+)/)/g,function($0,$1){return document.getElementById($1).value;});
toobjoptionlength=parseInt(toobjoptionlength);
if(obj){aspaddress+=obj.value;}
if (aspaddress.indexOf("?")==-1){aspaddress+="?"+Math.random();}
else{aspaddress+="&"+Math.random();}
XmlHttp.open("GET",aspaddress,true);
XmlHttp.onreadystatechange=function()
{
if(XmlHttp.readyState==4&&XmlHttp.status==200)
{
var XmlDoc=XmlHttp.responseXML;
var fxml=XmlDoc.getElementsByTagName(firstxml);
var sxml=XmlDoc.getElementsByTagName(secondxml);
var ajaxObj=document.getElementById(toobj);
ajaxObj.options.length=toobjoptionlength;
for (i=0;i<fxml.length;i++)
{
if (fxml[i] && sxml[i])
{
ajaxObj.options.add(new Option(sxml[i].text,fxml[i].text,false,false));
//document.getElementById(toobj).options[i+toobjoptionlength].value=fxml[i].text;
//document.getElementById(toobj).options[i+toobjoptionlength].text=sxml[i].text;
}
}
}
if (XmlHttp.readyState==4&&XmlHttp.status==200&&argus.length>7)
{
if (ajaxObj.value=='')
{
selectlength=toobjoptionlength
for (i=7;i<argus.length;i+=5)
{
var selectobj,selectlength;
selectobj=argus[i];
selectlength=argus.length>(i+3)?argus[(i+3)]==''?selectlength:argus[(i+3)]:selectlength;
document.getElementById(selectobj).options.length=selectlength;
}
}
else
{
var saspaddress=argus[6];
var stoobj=argus[7];
var sfirstxml=argus.length>8?argus[8]==''?firstxml:argus[8]:firstxml;
var ssecondxml=argus.length>9?[9]==''?secondxml:argus[9]:secondxml;
var stoobjoptionlength=argus.length>10?argus[10]==''?toobjoptionlength:argus[10]:toobjoptionlength;
var runthis="AjaxSelectOption('"+toobj+"','"+saspaddress+"','"+stoobj+"','"+sfirstxml+"','"+ssecondxml+"',"+stoobjoptionlength
for (i=11;i<argus.length;i++)
{
runthis+=",'"+argus[i]+"'";
}
runthis+=")";
eval(runthis);
}
}
}
XmlHttp.send(null);
}