(15)通过选择省市,来动态显示城市

通过选择省市,来动态显示城市
清空select中的元素:objSelect.length=0;
二维数组:省市与城市映射关系

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
   <script type="text/javascript">
   function selectCity()
   {
       var collCitys=[['选择城市']
                       ,['海淀区','朝阳区','东城区','西城区']
                       ,['济南','青岛','烟台','威海']
                       ,['沈阳','大连','鞍山','抚顺']
                       ,['石家庄','保定','邯郸','廊坊']];


        //获取select中的option集合
        var SelNode=document.getElementById("selid");
        var CollOptNodes=SelNode.all;

        //获取子下拉菜单
        var SubNode=document.getElementById("subid");

        //获取索引,并在数组中找到子数组
        var index=SelNode.selectedIndex;
        var arrCitys=collCitys[index];

        //在添到子菜单前,应该先将子菜单中的元素清空,SubNode.options



                //0角标的“选择城市”应该删除,因为若某人是北京海淀区的则可以减少一步城市的选择
                /*for(var j=0;j<SubNode.options.length;j++)//0角标的选择城市应该删除
                {

                    SubNode.removeChild(SubNode.options[j]);
                    j--;//长度减少,元素前移,所以要减1
                }*/
               //也可以通过select中设置属性:length=0
               SubNode.length=0;

        //遍历这个数组,并将这个数组的元素封装成option对象(创建节点),添加到子菜单中
        for(var i=0;i<arrCitys.length;i++)
        {
            var oOptNode=document.createElement("option");
            oOptNode.innerHTML=arrCitys[i];

            //放入子菜单中
            SubNode.appendChild(oOptNode);

        }

   }





   </script>
    <select id="selid" onchange="selectCity()">
        <option>选择省市</option>
        <option>北京</option>
        <option>山东</option>
        <option>辽宁</option>
        <option>河北</option>
    </select>

    <select id="subid">
     <option>选择城市</option>
    </select>
</body>
</html>
posted @ 2017-08-08 20:50  测试开发分享站  阅读(106)  评论(0编辑  收藏  举报