zoukankan      html  css  js  c++  java
  • 三级联动_jx_XML

    <html>
    <head runat="server">
        <title>脚本之家-三级地市联动菜单演示_jb51.net</title>
                <script   language="javascript"   type="text/javascript">
      //首先需要初始化
      var   xmlDoc;   
      var   nodeIndex; 
      function   getxmlDoc()   
      {   
          xmlDoc=new   ActiveXObject("Microsoft.XMLDOM");   
              var   currNode;   
              xmlDoc.async=false;   
              xmlDoc.load("Area.xml");   
              if(xmlDoc.parseError.errorCode!=0)   
              {   
                      var   myErr=xmlDoc.parseError;   
                      alert("出错!"+myErr.reason);   
              }           
      }
      function Init()
      {
        //打开xlmdocm文档
        getxmlDoc();
        var   dropElement1=document.getElementById("Select1"); 
        var   dropElement2=document.getElementById("Select2"); 
        var   dropElement3=document.getElementById("Select3");   
        RemoveDropDownList(dropElement1);
        RemoveDropDownList(dropElement2);
        RemoveDropDownList(dropElement3);
        var  TopnodeList=xmlDoc.selectSingleNode("address").childNodes;
        if(TopnodeList.length>0)
        {
            //省份列表
            var country;
            var province;
            var city;
            for(var   i=0; i<TopnodeList.length;   i++)
            {
                  //添加列表项目
                  country=TopnodeList[i];       
                  var   eOption=document.createElement("option");   
                  eOption.value=country.getAttribute("name");
                  eOption.text=country.getAttribute("name");
                  dropElement1.add(eOption);
            }
            if(TopnodeList[0].childNodes.length>0)
            {
                //城市列表
                for(var i=0;i<TopnodeList[0].childNodes.length;i++)
                {
                   var   id=dropElement1.options[0].value;
                   //默认为第一个省份的城市
                   province=TopnodeList[0]; 
                   var   eOption=document.createElement("option");  
                   eOption.value=province.childNodes[i].getAttribute("name");   
                   eOption.text=province.childNodes[i].getAttribute("name");   
                   dropElement2.add(eOption);
                }
                if(TopnodeList[0].childNodes[0].childNodes.length>0)
                {
                   //县列表
                   for(var i=0;i<TopnodeList[0].childNodes[0].childNodes.length;i++)
                   {
                      var   id=dropElement2.options[0].value;
                      //默认为第一个城市的第一个县列表
                      city=TopnodeList[0].childNodes[0];  
                      var   eOption=document.createElement("option");  
                      eOption.value=city.childNodes[i].getAttribute("name");   
                      eOption.text=city.childNodes[i].getAttribute("name");   
                      this.document.getElementById("Select3").add(eOption);
                   }
                }
            }
        }
      }   
      function   selectCity()   
      {       var   dropElement1=document.getElementById("Select1"); 
              var   name=dropElement1.options[dropElement1.selectedIndex].value;
              //alert(id);
              var   countryNodes=xmlDoc.selectSingleNode('//address/province [@name="'+name+'"]');   
              //alert(countryNodes.childNodes.length); 
              var   province=document.getElementById("Select2");       
              var   city=document.getElementById("Select3");       
              RemoveDropDownList(province);   
              RemoveDropDownList(city);
              if(countryNodes.childNodes.length>0)
              {
                   //填充城市          
                   for(var   i=0;   i<countryNodes.childNodes.length;   i++)   
                   {   
                      var   provinceNode=countryNodes.childNodes[i];     
                      var   eOption=document.createElement("option");   
                      eOption.value=provinceNode.getAttribute("name");   
                      eOption.text=provinceNode.getAttribute("name");   
                      province.add(eOption);   
                   }
                   if(countryNodes.childNodes[0].childNodes.length>0)
                   {
                      //填充选择省份的第一个城市的县列表
                      for(var i=0;i<countryNodes.childNodes[0].childNodes.length;i++)
                      {
                          //alert("i="+i+"\r\n"+"length="+countryNodes.childNodes[0].childNodes.length+"\r\n");
                          var   dropElement2=document.getElementById("Select2"); 
                          var   dropElement3=document.getElementById("Select3"); 
                          //取当天省份下第一个城市列表
                          var cityNode=countryNodes.childNodes[0];
                          //alert(cityNode.childNodes.length); 
                          var   eOption=document.createElement("option");  
                          eOption.value=cityNode.childNodes[i].getAttribute("name");   
                          eOption.text=cityNode.childNodes[i].getAttribute("name");   
                          dropElement3.add(eOption);
                      }
                   }
              }
      }   
      function   selectCountry()   
      {   
              var   dropElement2=document.getElementById("Select2");   
              var   name=dropElement2.options[dropElement2.selectedIndex].value;   
              var   provinceNode=xmlDoc.selectSingleNode('//address/province/city[@name="'+name+'"]');   
              var   city=document.getElementById("Select3");       
              RemoveDropDownList(city);   
              for(var   i=0;   i<provinceNode.childNodes.length;   i++)   
              {   
                      var   cityNode=provinceNode.childNodes[i];     
                      var   eOption=document.createElement("option");   
                      eOption.value=cityNode.getAttribute("name");   
                      eOption.text=cityNode.getAttribute("name");   
                      city.add(eOption);   
              }   
      }   
      function   RemoveDropDownList(obj)   
      {   
          if(obj)
          {
              var   len=obj.options.length;   
              if(len>0)
              {
                //alert(len);   
                for(var   i=len;i>=0;i--)   
                {   
                      obj.remove(i);   
                }
              }
           }
                
      }   
      </script>  
    </head>
    <!--
    
       ┏━━━━━━━━━━━━━━━━━━━━━┓
       ┃             源 码 爱 好 者               ┃
       ┣━━━━━━━━━━━━━━━━━━━━━┫
       ┃                                          ┃
       ┃           提供源码发布与下载             ┃
       ┃                                          ┃
       ┃        http://www.jb51.net           ┃
       ┃                                          ┃
       ┃            互助、分享、提高              ┃
       ┗━━━━━━━━━━━━━━━━━━━━━┛
    -->
    <body onload="Init();">
        <form id="form1" runat="server">
        <div>
        <select id="Select1" name="Select1" runat="server" onchange="selectCity();">
             <option value="" selected="true">省/直辖市</option>
        </select>
        <select id="Select2" name="Select2" runat="server" onchange="selectCountry()">
            <option value="" selected="true">请选择</option>
        </select>
        <select id="Select3" name="Select3" runat="server" >
            <option value="" selected="true">请选择</option>
        </select>
        </div>
        </form>
    </body>
    </html>
  • 相关阅读:
    Python数据类型之列表
    Python数据类型之字符串
    《Python基础篇》之初识Python一
    Python运算符及案例
    linux之50条命令详解
    Python环境安装以及简单案例
    Java Date类的使用总结
    Java基础之Object类
    static关键字的内存分析
    Java基础之关键字static
  • 原文地址:https://www.cnblogs.com/wzq806341010/p/3095999.html
Copyright © 2011-2022 走看看