JS实现二级联动菜单,例如选择省份下来对应出现所属城市,下面青岛网站建设青华互联的小编给出对应代码演示。
html代码:
<form name="form1" method="post" action=""> 省份:<select name="province" id="province" onchange="changeSelect(this.selectedIndex)"></select> 地区:<select name="city" id="city" onchange="yourcode(this.selectedIndex)"></select> </form>
js代码:
<script type="text/javascript"> //静态文本,可以考虑数据库 var arr_province = ["请选择省/城市","北京市","上海市","天津市","重庆市","深圳市","广东省"]; var arr_city = [ ["请选择城市/地区"], ["请选择城市/地区","东城区","西城区","朝阳区","宣武区","昌平区","大兴区","丰台区","海淀区"], ["请选择城市/地区",'宝山区','长宁区','丰贤区', '虹口区','黄浦区','青浦区','南汇区','徐汇区','卢湾区'], ["请选择城市/地区",'和平区', '河西区', '南开区', '河北区', '河东区', '红桥区', '塘古区', '开发区'], ["请选择城市/地区",'俞中区', '南岸区', '江北区', '沙坪坝区', '九龙坡区', '渝北区', '大渡口区', '北碚区'], ["请选择城市/地区",'福田区', '罗湖区', '盐田区', '宝安区', '龙岗区', '南山区', '深圳周边'], ["请选择城市/地区",'广州市','惠州市','汕头市','珠海市','佛山市','中山市','东莞市'] ]; //网页加载完成,初始化菜单 window.onload = init();//传入函数地址 function init(){ console.log("window.onload"); //首先获取对象 var province = document.form1.province; var city = document.form1.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]; } //修改城市列表的默认选择项 city.selectedIndex = index; } function changeSelect(index){ //选择对象 var city = document.form1.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]; } //修改当前省份下城市列表的默认选择项 city.selectedIndex = 0; } function yourcode(index){ //两级联动选择完毕之后你的操作 } </script>
代码运行效果截图:
扫描二维码手机查看该文章
文章引用:https://www.qinghuahulian.com/news/webzhishi/1436.html
- 上一篇:用css实现文字字体颜色渐变的三种方法
- 下一篇:利用原生js实现点击复制文本