• js实现“级联菜单”


     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
     5 <title>级联效果</title>
     6 <script language="javascript" type="text/javascript">
     7     window.onload = function(){
     8        document.getElementById("province").onchange = function(){
     9           var changeProvinceValue = this.value;//获取省变化的值
    10           var cityElement = document.getElementById("city");//清空下拉选项的值
    11           var cityoptionElements = cityElement.getElementsByTagName("option");
    12           for(var i=cityoptionElements.length -1 ;i >0;i--){
    13              cityElement.removeChild(cityoptionElements[i]);
    14           }
    15           //测试xml是否加载成功
    16           var xmldoc = parseXml("city.xml");
    17           var provinceElement= null;
    18           //定位到具体省
    19           var xmlProvinceElements = xmldoc.getElementsByTagName("province");
    20           for(var i=0;i<xmlProvinceElements.length;i++){
    21              var xmlProvinceElement=xmlProvinceElements[i];
    22              var nameAttribute =xmlProvinceElement.getAttribute("name");
    23              if(changeProvinceValue == nameAttribute){
    24                 provinceElement = xmlProvinceElement;
    25                 break;
    26              }
    27           }
    28           if(provinceElement != null){
    29              var xmlCityElements=provinceElement.getElementsByTagName("city");
    30              for(var i=0 ; i<xmlCityElements.length;i++){
    31                 var cityValue=xmlCityElements[i].firstChild.nodeValue;
    32                 var optionElement=document.createElement("option");
    33                 optionElement.setAttribute("value",cityValue);
    34                 var cityTextElement=document.createTextNode(cityValue);
    35                 optionElement.appendChild(cityTextElement);
    36 
    37                 var cityElement=document.getElementById("city");
    38                 cityElement.appendChild(optionElement);
    39              }
    40           }
    41        }
    42     }
    43     function parseXml(filename){
    44       try{
    45          xmldoc =new ActiveXObject("Microsoft.XMLDOM");
    46       }
    47       catch(e){
    48          try{
    49             xmldoc= document.implementation.createDocument("","",null);
    50          }
    51          catch(e){}
    52       }
    53       xmldoc.async = false;
    54       xmldoc.load(filename);
    55       return xmldoc;
    56     }
    57 </script>
    58 </head>
    59 
    60 <body>
    61   <select id="province" name="province">
    62       <option value="">请选择</option>
    63       <option value="吉林省">吉林省</option>
    64       <option value="山东省">山东省</option>
    65       <option value="辽宁省">辽宁省</option>
    66   </select>
    67   <select id="city" name="city">
    68       <option value="">请选择</option>
    69   </select>
    70 </body>
    71 
    72 </html>

    以下是xml文件(city.xml):

     1 <?xml version="1.0" encoding="GB2312"?>
     2 <china>
     3     <province name="吉林省">
     4        <city>长春</city>
     5        <city>松原</city>
     6        <city>通化</city>
     7        <city>四平</city>
     8     </province>
     9     <province name="辽宁省">
    10        <city>沈阳</city>
    11        <city>大连</city>
    12        <city>鞍山</city>
    13        <city>抚顺</city>
    14     </province>
    15     <province name="山东省">
    16        <city>威海</city>
    17        <city>济南</city>
    18        <city>青岛</city>
    19        <city>烟台</city>
    20     </province>
    21 </china>

    效果:

    下拉选择山东,右边的下拉出现相对应的城市。

  • 相关阅读:
    ubuntu 可以用 root 登录 ftp
    正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
    HttpUtility.UrlEncode,Server.UrlEncode 的区别
    HttpUtility.UrlEncode 方法 (String) 对 URL 字符串进行编码 NET Framework 4.6 and 4.5
    C# 多线程task
    NET Framework 4.5 有更加简便的方法 Task.Run()
    Tuple<int, int> Dictionary<string, object>妙用
    sha1加密
    MD5和sha1加密算法--散列加密技术 MD5:128bit的大整数
    3、Task.Factory属性
  • 原文地址:https://www.cnblogs.com/m-xy/p/3623066.html
Copyright © 2020-2023  润新知