三级联动

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>三级联动</title>
    <style type="text/css">
        select {
            width: 120px;
            margin-left: 20px;
        }
    </style>
</head>

<body>
    <select id="sheng"></select><select id="shi"></select><select id="xian"></select></body>

</html>
<script type="text/javascript">
    var aPro = ['河南省', '河北省'];
    var aCity = [['郑州市', '开封市'], ['石家庄', '邯郸市']];
    //aCon[0][0]
    var aCon = [
        [
            ['二七区', '金水区', '高新区', '中原区'],
            ['开封县', '兰考县', '尉氏县', '杞县']
        ],
        [['石家庄1区', '石家庄2区', '石家庄3区', '石家庄4区'],
        ['邯郸1县', '邯郸2县', '邯郸3县', '邯郸4县', '邯郸5县']
        ]
    ];

    var sheng = document.getElementById("sheng");
    var shi = document.getElementById("shi");
    var xian = document.getElementById("xian");

    //设置省的下标
    var proIndex = 0;
    //设置市的下标
    var cityIndex = 0;

    //给省添加选项
    for (var i = 0; i < aPro.length; i++) {
        var opt = document.createElement('option');
        opt.innerHTML = aPro[i];
        sheng.appendChild(opt);
    }

    //给市添加可选项
    function changeCity() {
        //清空里面的内容,因为之前可能会有其他内容
        shi.innerHTML = '';
        //创建对应的城市选项
        for (var i = 0; i < aCity[proIndex].length; i++) {
            var opt = document.createElement('option');
            opt.innerHTML = aCity[proIndex][i];
            shi.appendChild(opt);
        }
    }
    changeCity();

    //给县添加可选项
    function changeCon() {
        //清空里面的内容,因为之前可能会有其他内容
        xian.innerHTML = '';
        //创建对应的县选项
        for (var i = 0; i < aCon[proIndex][cityIndex].length; i++) {
            var opt = document.createElement('option');
            opt.innerHTML = aCon[proIndex][cityIndex][i];
            xian.appendChild(opt);
        }
    }
    changeCon();

    //给省添加change事件,内容改变的时候触发
    sheng.onchange = function () {
        // alert(this.value);
        var val = this.value;
        if (val == '河南省') {
            proIndex = 0;
        } else {
            proIndex = 1;
        }
        changeCity();
        changeCon();
    };
    //给市添加change事件
    shi.onchange = function () {
        var val = this.value;
        //获取市的下标
        cityIndex = aCity[proIndex].indexOf(val);
        changeCon();
    };
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值