在js中如何实现二级联动

 我来答
ZhangXin777999
2018-07-08 · TA获得超过3168个赞
知道大有可为答主
回答量:2075
采纳率:84%
帮助的人:228万
展开全部
<!DOCTYPE html>
  <html>
  <head>
      <meta charset="UTF-8">
     <title>JS实现二级联动菜单</title>
  </head>
 <body>
      <div>
          省份:<select name="province" id="province" onchange="changeSelect(this.selectedIndex)"></select>
         地区:<select name="city" id="city"></select>
     </div>
 </body>
 </html>
 <script type="text/javascript">
     var arr_province = ["请选择省/城市","北京市","上海市","天津市","重庆市","深圳市","广东省"];
     var arr_city = [
                     ["请选择城市/地区"],
                     ["东城区","西城区","朝阳区","宣武区","昌平区","大兴区","丰台区","海淀区"],
                     ['宝山区','长宁区','丰贤区', '虹口区','黄浦区','青浦区','南汇区','徐汇区','卢湾区'],
                     ['和平区', '河西区', '南开区', '河北区', '河东区', '红桥区', '塘古区', '开发区'],
                     ['俞中区', '南岸区', '江北区', '沙坪坝区', '九龙坡区', '渝北区', '大渡口区', '北碚区'],
                     ['福田区', '罗湖区', '盐田区', '宝安区', '龙岗区', '南山区', '深圳周边'],
                     ['广州市','惠州市','汕头市','珠海市','佛山市','中山市','东莞市']
                 ];
     //网页加载完成,初始化菜单
     window.onload = init;//传入函数地址
     function init(){
         //首先获取对象
         var province = document.getelementbyid('province');
         var city = document.getelementbyid('city');
 
         //指定省份中<option>标记的个数
         province.length = arr_province.length;
 
         //循环将数组中的数据写入<option>标记中
         for(var i=0;i<arr_province.length;i++){
             province.options[i].text = arr_province[i];
             province.options[i].value = arr_province[i];
         }
 
         //修改省份列表的默认选择项
         var index = 0;
         province.selectedIndex = index;
 
         //指定城市中<option>标记的个数
         city.length = arr_city[index].length;
 
         //循环将数组中的数据写入<option>标记中
         for (var j = 0; j<arr_city[index].length;j++) {
             city.options[j].text = arr_city[index][j];
             city.options[j].value = arr_city[index][j];
         }
 
     }
 
     function  changeSelect(index){
         //选择对象
         var city = document.getelementbyid('city');
         //修改省份列表的选择项
         province.selectedIndex = index;
 
         //指定城市中<option>标记的个数
         city.length = arr_city[index].length;
 
         //循环将数组中的数据写入<option>标记中
         for (var j = 0; j<arr_city[index].length;j++) {
             city.options[j].text = arr_city[index][j];
             city.options[j].value = arr_city[index][j];
         }
     }
 </script>

代码主要来自网络,只是修改了一点点,如果有错误请指出!

七鑫易维信息技术
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分... 点击进入详情页
本回答由七鑫易维信息技术提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式