function AjaxSend() { //创建XmlHttpRequest对象 CreateXmlHttp(); if(!xmlhttp) { alert("创建xmlhttpRequest发生异常!"); returnfalse; } //获取地区下拉框的value值,作为条件发送 var ss=document.getElementById("a2").value.substring(0,4); } //要发送的url,UserAjax我专门用来取数据 url="UserAjax.aspx?area="+ss; xmlhttp.open("POST",url,false); xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState==4) { if(xmlhttp.status==200) { //清空原下拉框 document.getElementById("agent").options.length=0; //str为返回的一个字符串,形式为"0001/代理商1,0002/代理商2,0003/代理商3" var str=xmlhttp.responseText; //将该字符串分割为数组形式 var strs=str.split(","); document.getElementById("agent").options.add(new Option("----------","000000")); for(var i=0;i<strs.length-1;i++) { //获取value值(编号) var a=strs[i].substring(0,strs[i].lastIndexOf("/")); //获取绑定内容 var b=strs[i].substring(strs[i].lastIndexOf("/")+1,strs.length); //绑定到下拉框 document.getElementById("agent").options.add(new Option(b,a)); } } } } xmlhttp.send(); }
另外顺便介绍一下UserAjax接收到该地区编号后获取数据返回字符串的过程。
string Area = Request.QueryString["area"].ToString(); DataTable data ="生成DataTable,涉及到公司核心代码,省略" string aa =""; for (int i =0; i < data.Rows.Count; i++) { if (aa =="") { aa = data.Rows[i]["id"].ToString()+"/"+data.Rows[i]["name"].ToString(); } else { aa = aa +","+ data.Rows[i]["id"].ToString() +"/"+ data.Rows[i]["name"].ToString(); } } Response.Write(aa);