amazeUI 地区选择器三级联动问题解决,带地区数据

2018年5月25号

直接上代码

        <div id="area_box">
            <select data-am-selected="{maxHeight:200,btnWidth:'120px'}" placeholder="请选择省" id="province">
                <option value=""></option>
            </select>
            <select data-am-selected="{maxHeight:200,btnWidth:'120px'}" placeholder="请选择市" id="city">
                <option value=""></option>
            </select>
            <select data-am-selected="{maxHeight:200,btnWidth:'120px'}" placeholder="请选择区/县" id="area">
                <option value=""></option>
            </select>
        </div>
        <button class="weui-vcode-btn" id="send">下一步</button>
        +$(function() {
            var $province_value, $city_value, $area_value, $areas_code;
            $areas_code = 0;
            $('#area_box div:nth-child(4)').attr('class', 'am-selected am-dropdown hide');
            $('#area_box div:nth-child(6)').attr('class', 'am-selected am-dropdown hide');
            var $province = $('#province');
            var $province_length = areas.length;
            for(var i = 0; i < $province_length; i++) {
                var $option = $('<option value="' + i + '">' + areas[i].name + '</option>');
                $option.appendTo($province);
            }
            $('body').on('click', '#area_box>div:nth-child(2) li', function() {
                $province_value = $(this).attr('data-value');
                var $province_selected = $(this).children().html();
                var $city_length = areas[$province_value].sub.length;
                $('#area_box>div:nth-child(2) .am-selected-status').html($province_selected);
                $('#city').html('<option value=""></option>');
                $('#area').html('<option value=""></option>');
                for(var j = 0; j < $city_length; j++) {
                    var $option = $('<option value="' + j + '">' + areas[$province_value].sub[j].name + '</option>');
                    $option.appendTo($('#city'));
                }
                $('#area_box>div:nth-child(4)').attr('class', 'am-selected am-dropdown');
                $('#area_box>div:nth-child(6)').attr('class', 'am-selected am-dropdown hide');
                $areas_code = 1;
            });
            $('body').on('click', '#area_box>div:nth-child(4) li', function() {
                $city_value = $(this).attr('data-value');
                var $city_selected = $(this).children().html();
                var $area_length = areas[$province_value].sub[$city_value].sub.length;
                $('#area_box>div:nth-child(4) .am-selected-status').html($city_selected);
                $('#area').html('<option value=""></option>');
                for(var k = 0; k < $area_length; k++) {
                    var $option = $('<option value="' + k + '">' + areas[$province_value].sub[$city_value].sub[k].name + '</option>');
                    $option.appendTo($('#area'));
                }
                $('#area_box>div:nth-child(6)').attr('class', 'am-selected am-dropdown');
                $areas_code = 2;
            });
            $('body').on('click', '#area_box>div:nth-child(6) li', function() {
                $area_value = $(this).attr('data-value');
                var $area_selected = $(this).children().html();
                $('#area_box>div:nth-child(6) .am-selected-status').html($area_selected);
                $areas_code = [$province_value, $city_value, $area_value];
            });
            $('#send').click(function() {
                if($areas_code == 0) {
                    console.log('请选择省');
                } else if($areas_code == 1) {
                    console.log('请选择市');
                } else if($areas_code == 2) {
                    console.log('请选择区/县');
                }
            });
        });

地区数据满足以下格式
查看所有数据

var areas = [{
    "name": "北京",
    "code": "110000",
    "sub": [{
        "name": "北京市",
        "code": "110000",
        "sub": [{
            "name": "东城区",
            "code": "110101"
        }, {
            "name": "西城区",
            "code": "110102"
        }, {
            "name": "朝阳区",
            "code": "110105"
        }, {
            "name": "丰台区",
            "code": "110106"
        }, {
            "name": "石景山区",
            "code": "110107"
        }, {
            "name": "海淀区",
            "code": "110108"
        }, {
            "name": "门头沟区",
            "code": "110109"
        }, {
            "name": "房山区",
            "code": "110111"
        }, {
            "name": "通州区",
            "code": "110112"
        }, {
            "name": "顺义区",
            "code": "110113"
        }, {
            "name": "昌平区",
            "code": "110114"
        }, {
            "name": "大兴区",
            "code": "110115"
        }, {
            "name": "怀柔区",
            "code": "110116"
        }, {
            "name": "平谷区",
            "code": "110117"
        }, {
            "name": "密云县",
            "code": "110228"
        }, {
            "name": "延庆县",
            "code": "110229"
        }]
    }]
}, {
    "name": "天津",
    "code": "120000",
    "sub": [{
        "name": "天津市",
        "code": "120000",
        "sub": [{
            "name": "和平区",
            "code": "120101"
        }, {
            "name": "河东区",
            "code": "120102"
        }, {
            "name": "河西区",
            "code": "120103"
        }, {
            "name": "南开区",
            "code": "120104"
        }, {
            "name": "河北区",
            "code": "120105"
        }, {
            "name": "红桥区",
            "code": "120106"
        }, {
            "name": "东丽区",
            "code": "120110"
        }, {
            "name": "西青区",
            "code": "120111"
        }, {
            "name": "津南区",
            "code": "120112"
        }, {
            "name": "北辰区",
            "code": "120113"
        }, {
            "name": "武清区",
            "code": "120114"
        }, {
            "name": "宝坻区",
            "code": "120115"
        }, {
            "name": "滨海新区",
            "code": "120116"
        }, {
            "name": "宁河县",
            "code": "120221"
        }, {
            "name": "静海县",
            "code": "120223"
        }, {
            "name": "蓟县",
            "code": "120225"
        }]
    }]
}];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值