ajax完美解决 下拉框连动

时间:2022-11-21 20:48:29

 <select id="Agent" name="Agent"></select>

接下来当然是定义XmlHttpRequest对象。
   

ajax完美解决 下拉框连动var  xmlhttp;
ajax完美解决 下拉框连动
function  CreateXmlHttp()
ajax完美解决 下拉框连动ajax完美解决 下拉框连动   
{  
ajax完美解决 下拉框连动
ajax完美解决 下拉框连动
ajax完美解决 下拉框连动   
//非IE浏览器创建XmlHttpRequest对象
ajax完美解决 下拉框连动
    if(window.XmlHttpRequest)
ajax完美解决 下拉框连动ajax完美解决 下拉框连动    
{
ajax完美解决 下拉框连动     xmlhttp
=new XmlHttpRequest();
ajax完美解决 下拉框连动    }

ajax完美解决 下拉框连动    
//IE浏览器创建XmlHttpRequest对象
ajax完美解决 下拉框连动
     if(window.ActiveXObject)
ajax完美解决 下拉框连动ajax完美解决 下拉框连动    
{
ajax完美解决 下拉框连动    
try
ajax完美解决 下拉框连动ajax完美解决 下拉框连动    
{
ajax完美解决 下拉框连动     xmlhttp
=new ActiveXObject("Microsoft.XMLHTTP"); 
ajax完美解决 下拉框连动    }

ajax完美解决 下拉框连动    
catch(e)
ajax完美解决 下拉框连动ajax完美解决 下拉框连动    
{
ajax完美解决 下拉框连动ajax完美解决 下拉框连动    
try{
ajax完美解决 下拉框连动     xmlhttp
=new ActiveXObject("msxml2.XMLHTTP");
ajax完美解决 下拉框连动     }

ajax完美解决 下拉框连动ajax完美解决 下拉框连动     
catch(ex){}
ajax完美解决 下拉框连动    }

ajax完美解决 下拉框连动    }

ajax完美解决 下拉框连动   }
  


这个在我的多篇blog文章里都有阐述,就不多说了。

接下来当然是利用该对象来发送条件,获得数据,并且将获得的数据绑定到agent这个下拉框。
在地区下拉框的onchange事件里面触发函数AjaxSend();

ajax完美解决 下拉框连动function  AjaxSend()
ajax完美解决 下拉框连动ajax完美解决 下拉框连动
{
ajax完美解决 下拉框连动     
//创建XmlHttpRequest对象
ajax完美解决 下拉框连动
     CreateXmlHttp();     
ajax完美解决 下拉框连动     
if(!xmlhttp)
ajax完美解决 下拉框连动ajax完美解决 下拉框连动     
{
ajax完美解决 下拉框连动         alert(
"创建xmlhttpRequest发生异常!");
ajax完美解决 下拉框连动         
return false;
ajax完美解决 下拉框连动     }
   
ajax完美解决 下拉框连动     
//获取地区下拉框的value值,作为条件发送
ajax完美解决 下拉框连动
     var ss=document.getElementById("a2").value.substring(0,4);
ajax完美解决 下拉框连动     }

ajax完美解决 下拉框连动    
// 要发送的url,UserAjax我专门用来取数据
ajax完美解决 下拉框连动
     url = " UserAjax.aspx?area= " + ss;
ajax完美解决 下拉框连动     xmlhttp.open(
" POST " ,url, false ); 
ajax完美解决 下拉框连动        
ajax完美解决 下拉框连动   
ajax完美解决 下拉框连动     xmlhttp.onreadystatechange
= function ()
ajax完美解决 下拉框连动ajax完美解决 下拉框连动     

ajax完美解决 下拉框连动 
ajax完美解决 下拉框连动         
if(xmlhttp.readyState==4)
ajax完美解决 下拉框连动ajax完美解决 下拉框连动         
{
ajax完美解决 下拉框连动             
if(xmlhttp.status==200)
ajax完美解决 下拉框连动ajax完美解决 下拉框连动             
{  
ajax完美解决 下拉框连动               
//清空原下拉框
ajax完美解决 下拉框连动
              document.getElementById("agent").options.length=0;           
ajax完美解决 下拉框连动               
//str为返回的一个字符串,形式为"0001/代理商1,0002/代理商2,0003/代理商3ajax完美解决 下拉框连动"
ajax完美解决 下拉框连动
               var str=xmlhttp.responseText;
ajax完美解决 下拉框连动              
//将该字符串分割为数组形式
ajax完美解决 下拉框连动
               var strs=str.split(",");
ajax完美解决 下拉框连动               document.getElementById(
"agent").options.add(new Option("----------","000000"));
ajax完美解决 下拉框连动               
for(var i=0;i<strs.length-1;i++)
ajax完美解决 下拉框连动ajax完美解决 下拉框连动               
{
ajax完美解决 下拉框连动                
//获取value值(编号)
ajax完美解决 下拉框连动
                var a=strs[i].substring(0,strs[i].lastIndexOf("/"));
ajax完美解决 下拉框连动                
//获取绑定内容
ajax完美解决 下拉框连动
                var b=strs[i].substring(strs[i].lastIndexOf("/")+1,strs.length);
ajax完美解决 下拉框连动                
//绑定到下拉框
ajax完美解决 下拉框连动
                document.getElementById("agent").options.add(new Option(b,a));               
ajax完美解决 下拉框连动               }

ajax完美解决 下拉框连动                 
ajax完美解决 下拉框连动             }
 
ajax完美解决 下拉框连动          }
 
ajax完美解决 下拉框连动      }
           
ajax完美解决 下拉框连动      xmlhttp.send();
ajax完美解决 下拉框连动}
ajax完美解决 下拉框连动

另外顺便介绍一下UserAjax接收到该地区编号后获取数据返回字符串的过程。

ajax完美解决 下拉框连动  string  Area  =  Request.QueryString[ " area " ].ToString();
ajax完美解决 下拉框连动        DataTable data 
=   " 生成DataTable,涉及到公司核心代码,省略 "
ajax完美解决 下拉框连动        
string  aa  =   "" ;
ajax完美解决 下拉框连动        
for  ( int  i  =   0 ; i  <  data.Rows.Count; i ++ )
ajax完美解决 下拉框连动ajax完美解决 下拉框连动        
{
ajax完美解决 下拉框连动            
if (aa == "")
ajax完美解决 下拉框连动ajax完美解决 下拉框连动            
{
ajax完美解决 下拉框连动                aa 
= data.Rows[i]["id"].ToString()+"/"+data.Rows[i]["name"].ToString();
ajax完美解决 下拉框连动            }

ajax完美解决 下拉框连动            
else
ajax完美解决 下拉框连动ajax完美解决 下拉框连动            
{
ajax完美解决 下拉框连动                aa 
= aa + "," + data.Rows[i]["id"].ToString() +"/"+ data.Rows[i]["name"].ToString();
ajax完美解决 下拉框连动            }

ajax完美解决 下拉框连动        }

ajax完美解决 下拉框连动       Response.Write(aa);