灯下烛影

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>

posted on 2012-04-21 17:29  云梦科技  阅读(1462)  评论(2编辑  收藏  举报

导航