美文网首页
JavaScript实现一个简单的二级联动菜单【2018-05-

JavaScript实现一个简单的二级联动菜单【2018-05-

作者: UnilinU | 来源:发表于2018-05-01 18:55 被阅读0次

声明

优化 https://www.cnblogs.com/yuxiuyan/p/6668137.html,以备查看

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS实现二级联动菜单</title>
</head>
<body>
    <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>
</body>
<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>
</html>

推荐

前端在线测试工具:http://jsfiddle.net/

相关文章

网友评论

      本文标题:JavaScript实现一个简单的二级联动菜单【2018-05-

      本文链接:https://www.haomeiwen.com/subject/pmlfrftx.html