js实现省市选择二级联动


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=GBK">
        <title>Untitled Document</title>
        <style type="text/css">
            select{
                width:100px;
            }
        </style>
    </head>
    <body>
        
        <script type="text/javascript">
            function selectCity(){
                
                var  collCities = [['选择城市']
                                    ,['海淀区','朝阳区','东城区','西城区']
                                    ,['济南','青岛','烟台','威海']
                                    ,['沈阳','大连','鞍山','抚顺']
                                    ,['石家庄','保定','邯郸','廊坊']];
                
//                var arr = {"beijing":['海淀区','朝阳区','东城区','西城区']};

                //获取两个下拉菜单对象。
                var oSelNode = document.getElementById("selid");
                var oSubSelNode = document.getElementById("subselid");
                
                //获取到底选择的是哪个省。
                var index = oSelNode.selectedIndex;
                
                //通过角标到容器去获取对应的城市数组。
                var arrCities = collCities[index];
                
                //将子菜单中的内容清空一下。
//                for(var x=0;x<oSubSelNode.options.length; ){
//                    oSubSelNode.removeChild(oSubSelNode.options[x]);
//                }

                //清除动作
                oSubSelNode.length = 0;
                
                
                //遍历这个数组。并将这个数组的元素封装成option对象,添加到子菜单中
                for(var x=0; x<arrCities.length; x++){
                    var oOptNode = document.createElement("option");
                    oOptNode.innerHTML = arrCities[x];
                    
                    oSubSelNode.appendChild(oOptNode);
                }
                
            }
        </script>
        
        <select id="selid" οnchange="selectCity()">
            <option>选择省市</option>
            <option value="beijing">北京</option>
            <option>山东</option>
            <option>辽宁</option>
            <option>河北</option>
        </select>
        
        <select id="subselid">
            <option>选择城市</option>
        </select>
        
    </body>
</html>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答您的问题。以下是用 JavaScript 实现省市二级联动的示例代码: ```javascript // 省份下拉列表 var provinceList = document.getElementById("province-list"); // 城市下拉列表 var cityList = document.getElementById("city-list"); // 省份和城市的数据 var data = { "北京市": ["东城区", "西城区", "朝阳区", "丰台区", "石景山区", "海淀区", "门头沟区", "房山区", "通州区", "顺义区", "昌平区", "大兴区", "怀柔区", "平谷区", "密云区", "延庆区"], "上海市": ["黄浦区", "徐汇区", "长宁区", "静安区", "普陀区", "虹口区", "杨浦区", "闵行区", "宝山区", "嘉定区", "浦东新区", "金山区", "松江区", "青浦区", "奉贤区", "崇明区"], "广东省": ["广州市", "深圳市", "珠海市", "汕头市", "韶关市", "佛山市", "江门市", "湛江市", "茂名市", "肇庆市", "惠州市", "梅州市", "汕尾市", "河源市", "阳江市", "清远市", "东莞市", "中山市", "潮州市", "揭阳市", "云浮市"], // 其它省份的数据... }; // 根据省份生成城市选项 function generateCityOptions(cityArr) { var optionsHtml = ""; for (var i = 0; i < cityArr.length; i++) { var city = cityArr[i]; optionsHtml += "<option value='" + city + "'>" + city + "</option>"; } return optionsHtml; } // 当选择的省份变化时,更新城市列表 function updateCityList() { var selectedProvince = provinceList.value; var cityArr = data[selectedProvince]; var optionsHtml = generateCityOptions(cityArr); cityList.innerHTML = optionsHtml; } // 初始化省份列表 var provinceOptionsHtml = generateCityOptions(Object.keys(data)); provinceList.innerHTML = provinceOptionsHtml; // 绑定省份选择器的 change 事件 provinceList.addEventListener("change", updateCityList); ``` 这段代码可以生成两个下拉列表,第一个是省份的选择列表,第二个是根据选中的省份动态生成的城市选择列表。您可以将其嵌入到您的网页中使用。 希望这些能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值