JS控制的三级城市联动

  //_______________________*************任务二 城市联动*************____________________________
        function Dsy() {
            this.Items = {};
        }
        //将数组赋值给Item列表
        Dsy.prototype.add = function (id, iArray) {
            this.Items[id] = iArray;
        }
        //检查是否存在
        Dsy.prototype.Exists = function (id) {
            if (typeof (this.Items[id]) == "undefined") return false;
            return true;
        }
        //城市联动
        function change(v) {
            var str = "0";
            //s["province", "city", "county"]
            for (i = 0; i < v; i++) { str += ("_" + (document.getElementById(s[i]).selectedIndex - 1)); };
            var ss = document.getElementById(s[v]);
            with (ss) {
                length = 0;
                //opt0 = ["省份", "地级市", "市、县级市、县"];
                options[0] = new Option(opt0[v], opt0[v]);
                if (v && document.getElementById(s[v - 1]).selectedIndex > 0 || !v) {
                    if (dsy.Exists(str)) {
                        ar = dsy.Items[str];
                        for (i = 0; i < ar.length; i++) options[length] = new Option(ar[i], ar[i]);
                        if (v) options[1].selected = true;
                    }
                }
                if (++v < s.length) { change(v); }
            }
        }

        var dsy = new Dsy();

        dsy.add("0", ["安徽", "北京", "福建"]);
        dsy.add("0_0", ["安庆", "蚌埠", "巢湖"]);
        dsy.add("0_0_0", ["安庆市", "怀宁县", "潜山县"]);
        dsy.add("0_0_1", ["蚌埠市", "固镇县", "怀远县", "五河县"]);
        dsy.add("0_0_2", ["巢湖市", "含山县", "和县", "庐江县", "无为县"]);
        dsy.add("0_1", ["北京"]);
        dsy.add("0_1_0", ["北京市", "密云县", "延庆县"]);
        dsy.add("0_2", ["福州", "龙岩", "南平", "宁德", "莆田", "泉州", "三明", "厦门", "漳州"]);
        dsy.add("0_2_0", ["长乐市", "福清市", "福州市", "连江县", "罗源县", "闽侯县", "闽清县", "平潭县", "永泰县"]);
        dsy.add("0_2_1", ["长汀县", "连城县", "龙岩市", "上杭县", "武平县", "永定县", "漳平市"]);
        dsy.add("0_2_2", ["光泽县", "建阳市", "建瓯市", "南平市", "浦城县", "邵武市", "顺昌县", "松溪县"]);

        var s = ["province", "city", "county"];
        var opt0 = ["省份", "地级市", "市、县级市、县"];
        function setup() {
            for (i = 0; i < s.length - 1; i++)
                document.getElementById(s[i]).onchange = new Function("change(" + (i + 1) + ")");
            change(0);
        }

        //_______________________**************************____________________________

 

 <select id="province" runat="server" NAME="province"></select>
        <select id="city" runat="server" NAME="city"></select>
        <select id="county" runat="server" NAME="city"></select>

 

<!--js初始化函数-->
   <script type="text/javascript">
       setup()
   </script>

转载于:https://www.cnblogs.com/Shituo-WQ/archive/2012/04/21/2461728.html

//初始数据 var dsy = new Dsy(); dsy.add("0",["北京市","天津市","上海市","重庆市","河北省","山西省","内蒙古","辽宁省","吉林省","黑龙江省","江苏省","浙江省","安徽省","福建省","江西省","山东省","河南省","湖北省","湖南省","广东省","广西","海南省","四川省","贵州省","云南省","西藏","陕西省","甘肃省","青海省","宁夏","新疆","香港","澳门","台湾省"]); dsy.add("0_0",["北京市"]); dsy.add("0_0_0",["东城区","西城区","朝阳区","丰台区","石景山区","海淀区","门头沟区","房山区","通州区","顺义区","昌平区","大兴区","怀柔区","平谷区","密云区","延庆区"]); dsy.add("0_1",["天津市"]); dsy.add("0_1_0",["和平区","河东区","河西区","南开区","河北区","红桥区","东丽区","西青区","津南区","北辰区","武清区","宝坻区","滨海新区","宁河区","静海区","蓟县"]); dsy.add("0_2",["上海市"]); dsy.add("0_2_0",["黄浦区","徐汇区","长宁区","静安区","普陀区","虹口区","杨浦区","闵行区","宝山区","嘉定区","浦东新区","金山区","松江区","青浦区","奉贤区","崇明区"]); dsy.add("0_3",["重庆市"]); dsy.add("0_3_0",["万州区","湆陵区","渝中区","大渡口区","江北区","沙坪坝区","九龙坡区","南岸区","北碚区","綦江区","大足区","渝北区","巴南区","黔江区","长寿区","江津区","合川区","永川区","南川区","璧山区","铜梁区","潼南区","荣昌区","开州区","梁平区","武隆区","城口县","丰都县","垫江县","忠县","云阳县","奉节县","巫山县","巫溪县","石柱土家族自治县","彭水苗族土家族自治县","酉阳土家族苗族自治县","秀山土家族苗族自治县"]); dsy.add("0_4",["石家庄市","张家口市","承德市","秦皇岛市","唐山市","廊坊市","保定市","衡水市","沧州市","邢台市","邯郸市"]); dsy.add("0_4_0",["桥东区","桥西区","新华区","裕华区","井陉矿区","辛集市","藁城市","鹿泉区","栾城区","晋州市","新乐市","井陉县","正定县","行唐县","灵寿县","高邑县","深泽县","赞皇县","无极县","平山县","元氏县","赵县"]); dsy.add("0_4_1",["桥西区","桥东区","宣化区","下花园区","宣化县","张家口市宣化区","张北县","张北镇","康保县","康保镇","沽源县","平定堡镇","尚义县","南壕堑镇","蔚县","蔚州镇","阳原县","西城镇","怀安县","柴沟堡镇","万全县","孔家庄镇","怀来县","沙城镇","涿鹿县","涿鹿镇","赤城县","赤城镇","崇礼县","西湾子镇"]); dsy.add("0_4_2",["双桥区","双滦区","鹰手营子矿区","承德县","下板城镇","兴隆县","兴隆镇","平泉县","平泉镇","滦平县","滦平镇","隆化县","隆化镇","丰宁满族自治县","大阁镇","宽城满族自治县","宽城镇","围场满族蒙古族自治县","围场镇"]); dsy.add("0_4_3",["海港区","山海关区","北戴河区","昌黎县","昌黎镇","抚宁县","抚宁镇","卢龙县","卢龙镇","青龙满族自治县","青龙镇"]); dsy.add("0_4_4",["路北区","路南区","古冶区","开平区","丰润区","丰南区","遵化市","迁安市","滦县","滦州镇","滦南县","倴城镇","乐亭县","乐亭镇","迁西县","兴城镇","玉田县","玉田镇","唐海县","唐海镇"]); dsy.add("0_4_5",["安次区","广阳区","霸州市","三河市","固安县","固安镇","永清县","永清镇","香河县","淑阳镇","大城县","平舒镇","文安县","文安镇","大厂回族自治县","大厂镇"]); dsy.add("0_4_6",["新市区","北市区","南市区","定州市","涿州市","安国市","高碑店市","满城县","满城镇","清苑县","清苑镇","易县","易州镇","徐水县","安肃镇","涞源县","涞源镇","定兴县","定兴镇","顺平县","蒲阳镇","唐县","仁厚镇","望都县","望都镇","涞水县","涞水镇","高阳县","高阳镇","安新县","安新镇","雄县","雄州镇","容城县","容城镇","曲阳县","恒州镇","阜平县","阜平镇","博野县","博陵镇","蠡县","蠡吾镇"]); dsy.add("0_4_7",["桃城区","冀州市","深州市","枣强县","枣强镇","武邑县","武邑镇","武强县","武强镇","饶阳县","饶阳镇","安平县","安平镇","故城县","郑口镇","景县","景州镇","阜城县","阜城镇"]); dsy.add("0_4_8",["运河区","新华区","泊头市","任丘市","黄骅市","河间市","沧县","沧州市新华区","青县","清州镇","东光县","东光镇","海兴县","苏基镇","盐山县","盐山镇","肃宁县","肃宁镇","南皮县","南皮镇","吴桥县","桑园镇","献县","乐寿镇","孟村回族自治县","孟村镇"]); dsy.add("0_4_9",["桥东区","桥西区","南宫市","沙河市","邢台县","邢台市桥东区","临城县","临城镇","内丘县","内丘镇","柏乡县","柏乡镇","隆尧县","隆尧镇","任县","任城镇","南和县","和阳镇","宁晋县","凤凰镇","巨鹿县","巨鹿镇","新河县","新河镇","广宗县","广宗镇","平乡县","丰州镇","威县","洺州镇","清河县","葛仙庄镇","临西县","临西镇"]); dsy.add("0_4_10",["丛台区","邯山区","复兴区","峰峰矿区","武安市","邯郸县","南堡乡东小屯村","临漳县","临漳镇","成安县","成安镇","大名县","大名镇","涉县","涉城镇","磁县","磁州镇","肥乡县","肥乡镇","永年县","临洺关镇","邱县","新马头镇","鸡泽县","鸡泽镇","广平县","广平镇","馆陶县","馆陶镇","魏县","魏城镇","曲周县","曲周镇"]);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值