Ajax实现下拉框二级级联

前端之家收集整理的这篇文章主要介绍了Ajax实现下拉框二级级联前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

AJAX实现的简单的无刷新效果页面中有两个下拉框,当第一个下拉框改变时,提交请求到后台,查找到对应的数据,添加到第二个下拉框列表里。代码如下:

<html>
 <head>
  <script type="text/javascript">


   //Ajax实现下拉框二级级联,根据第一个下拉框的值改变第二个下拉框内的列表

   //根据浏览器的类型,创建xmlHttpRequest对象
   function createXmlHttpRequest()
    {
        if(window.ActiveXObject)
        {
            return new ActiveXObject("Microsoft.XMLHTTP");
        }
        else if( window.XMLHttpRequest())
        {
            return new XMLHttpRequest();
        }    
    }
    var xmlHttpRequest;
  
    //异步响应函数 
    function search(para)
    {
        var url="/search?para="+para;     //后台请求的路径
      
        xmlHttpRequest=createXmlHttpRequest();
      
        xmlHttpRequest.onreadystatechange=callback;   //将回调函数注册给状态改变事件
      
        xmlHttpRequest.open("GET",url,true);
      
        xmlHttpRequest.send(null);
          
    }    
   
   //回调函数
    function callback()
    {     
         var dlCity=document.getElementById("city");

 

         //请求被成功响应,已接收到结果
         if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200)
         {                    
             var result=xmlHttpRequest.responseText;          //返回的结果字符串 
             //var result = "哈尔滨|大庆||鹤岗|佳木斯|牡丹江"; 
                        
            var cityArray= result.split("|");   //返回的结果字符串中,值之间是以|分隔的,所以先拆分成数组
            var count = cityArray.length; 
            dlCity.length=0;   //先将下拉列表框清空
            for (var i = 0; i <count; i++) 
            {   
                dlCity.options.add(new Option(cityArray[i],cityArray[i]));   //将结果循环添加到下拉列表中
            }  
           
         }
         else
         {
             dlCity.length=0;
             dlCity.options.add(new Option("请等待...","-1"));
         }
        
    }
    
 //下拉框改变事件
 function changeCityOptions()
 {
     var dlProvince=document.getElementById("province");
     var dlCity=document.getElementById("city");
     dlCity.length=0;
     if(dlProvince.value==-1)
     {    
         dlCity.options.add(new Option("城市列表","-1"));
     }
     else
     {
         search(dlProvince.value);
     } 
    return;   
 }
  </script>
</head>
<body>
 <select name="province"  id="province" onchange="changeCityOptions()">
  <option value="-1">选择省份</option>

  <option value="1">黑龙江</option>

  <option value="2">吉林</option>
 </select>
 <select name="city" id="city">
  <option value="-1">城市列表</option>
 </select>
</body> 
</html>
原文链接:https://www.f2er.com/ajax/165862.html

猜你在找的Ajax相关文章