国家省市县三级联动

来源:互联网 发布:mac系统 盗版软件 编辑:程序博客网 时间:2024/04/27 17:33

该模块是在SSM框架下实现的

Spring+SpringMVC+Mybaits

ftl页面:

<span class="label">国家:</span>         <select id="country" class="info"            name="country" onChange="changeCountry();">            <option value="-1">--请选择--</option>             <#if countryList?? &&(countryList?size > 0)>                 <#list countryList as countryInfo>                <option value="${countryInfo.gid}"<#if user.country?? &&                user.country=countryInfo.gid>selected</#if>>${countryInfo.name}</option>                </#list>             </#if>        </select> <span class="label">省:</span> <select id="province" name="province"            class="info" onChange="changeProvince();" value="${user.province}">        </select> <span class="label">市:</span> <select id="city" name="city"            class="info" onChange="changeCity();">         </select> <span class="label">县:</span> <select id="county" name="county"            class="info" onChange="">         </select>

js:

var optiontitle='<option value="-1">--请选择--</option>';// 国家和省份联动function changeCountry() {    var countryCode = jQuery("#country").val();    // 如果没有选中国家,省级列表置空,否则加载该国家的所有省份    if (countryCode == -1) {        $("#province").empty();        jQuery("#province").append(optiontitle);    } else {        jQuery("#province").append(optiontitle);        jQuery.ajax({            type : 'POST',            url : ctx + '/getProvince.do',            dataType : 'json',            data : {                countryCode : countryCode            },            success : function(data) {                if (data.pssProvinceList != null) {                    var provinces = data.pssProvinceList;                    for (var i = 0; i < provinces.length; i++) {                        var province = provinces[i];                        var option;                        // 页面初始化时,在省份列表中默认选中用户所在省                        if (data.user.province == province.code) {                            option = '<option value="' + province.code                                    + '" selected="selected">' + province.name                                    + '</option>';                        } else {                            option = '<option value="' + province.code + '">'                                    + province.name + '</option>';                        }                        jQuery("#province").append(option);                    }                }                changeProvince();            },            error : function() {                layer.alert('错误!', {                    icon : 1,                    skin : 'layer-ext-moon'                });            }        });    }}// 省份与市联动function changeProvince() {    var provinceCode = $('#province option:selected') .val();    // 如果没有选中省份,市级列表置空,否则加载该省份的所有市    if(provinceCode==-1){        $("#city").empty();        jQuery("#city").append(optiontitle);    }else{        $("#city").empty();        jQuery("#city").append(optiontitle);        jQuery.ajax({        type : 'POST',        url : ctx + '/getCity.do',        dataType : 'json',        data : {            provinceCode:provinceCode        },        success : function(data) {            if (data.pssCityList != null) {                var cityes = data.pssCityList;                for(var i =0;i<cityes.length;i++){                    var city = cityes[i];                    var option;                    // 页面初始化时,在市列表中默认选中用户所在市                    if(data.user.city == city.code){                        option = '<option value="' + city.code                        + '"selected="selected" >'                                        + city.name                                        + '</option>';}                    else{                     option = '<option value="' + city.code                    + '" >'                                    + city.name                                    + '</option>';}                            jQuery("#city").append(option);                }            }            changeCity();        },        error:function(){                layer.alert('切换市失败!', {                    icon: 1,                    skin: 'layer-ext-moon'                 });            }     });    }}//市和县联动function changeCity() {var cityCode = jQuery("#city").val();//如果没有选中市,县级列表置空,否则加载该市的所有县    if(cityCode==-1){        $("#county").empty();        jQuery("#county").append(optiontitle);    }else{        $("#county").empty();        jQuery("#county").append(optiontitle);        jQuery.ajax({        type : 'POST',        url : ctx + '/getTown.do',        dataType : 'json',        data : {            cityCode:cityCode        },        success : function(data) {            if (data.pssTownList != null) {                var towns = data.pssTownList;                for(var i =0;i<towns.length;i++){                    var town = towns[i];                    var option;                    // 页面初始化时,在县列表中默认选中用户所在县                    if(data.user.county == town.code){                        option = '<option value="' + town.code                        + '" selected="selected" >'                                        + town.name                                        + '</option>';}                    else{                     option = '<option value="' + town.code                    + '" >'                                    + town.name                                    + '</option>';}                            jQuery("#county").append(option);                }            }        },        error:function(){                layer.alert('失败!', {                    icon: 1,                    skin: 'layer-ext-moon'                 });            }     });    }}

后台java代码:

/**     * 初始化用户信息     **/    @RequestMapping(method = { RequestMethod.POST, RequestMethod.GET }, value = "/UserMessage.do")    public String usersManage(HttpServletRequest request, ModelMap model) {        String method = request.getMethod();        LOGGER.debug("以 {} 方式访问用户信息页面", method);        ActivityWebUtils.WrapperModle(request, model);        usersService.getUsersInfoForInitPage(model, method, request);        PssCountryQuery pssCountryQuery = new PssCountryQuery();            // 得到所有国家        List<PssCountry> countryList = pssCountryService                .getCountry(pssCountryQuery);        model.addAttribute("countryList", countryList);        return "manage/userMessage";    }    /**     * 获取省份信息     **/    @RequestMapping(method = RequestMethod.POST, value = "/getProvince.do")    public @ResponseBody    Map<String, Object> provinceMessage(HttpServletRequest request,            HttpServletResponse response) {        ActivityModelMap modelMap = new ActivityModelMap(request);        // 根据国家获得省份        pssProvinceService.getPssProvinceByCountry(request, modelMap);        return modelMap.getModelMap();    }    /**     * 获取市信息     **/    @RequestMapping(method = RequestMethod.POST, value = "/getCity.do")    public @ResponseBody    Map<String, Object> cityMessage(HttpServletRequest request,            HttpServletResponse response) {        ActivityModelMap modelMap = new ActivityModelMap(request);        // 根据省份获得市        pssCityService.getPssCityByProvince(request, modelMap);        return modelMap.getModelMap();    }    /**     * 获取县信息     **/    @RequestMapping(method = RequestMethod.POST, value = "/getTown.do")    public @ResponseBody    Map<String, Object> townMessage(HttpServletRequest request,            HttpServletResponse response) {        ActivityModelMap modelMap = new ActivityModelMap(request);        // 根据市获得县        pssTownService.getPssTownByCity(request, modelMap);        return modelMap.getModelMap();    }    /**     * 修改保存用户信息     **/    @RequestMapping(method = RequestMethod.POST, value = "/saveUserMessage.do")    public @ResponseBody    Map<String, Object> saveUserMessage(Users user, HttpServletRequest request,            HttpServletResponse response) {        ActivityModelMap modelMap = new ActivityModelMap(request);        // 获得当前登录用户的信息        ExtendUsers eUser = (ExtendUsers) request.getSession().getAttribute(                "CURRENT_USER_INFO");        // 根据用户的Id更新用户信息        if (usersService.updateUserInfoById(user, eUser, modelMap)) {            modelMap.put("status", "success");            modelMap.put("data", "更新用户信息成功!");        }        return modelMap.getModelMap();    }
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 君子兰用高锰酸钾泡浓度高了怎么办 五个月宝宝认人不要奶奶睡怎么办 幼儿小班安全卡鱼刺了怎么办教案 学籍在一年级学生在二年级怎么办 一岁多宝宝挑食不爱吃饭菜怎么办饭 换了新手机微信好友显示不全怎么办 朋友人在外地 联系不上怎么办 幼儿连字母都记不住该怎么办 车一边轮子掉农村路边小水沟怎么办 20个月小孩脾气急燥怎么办 给小孩上户口母亲是外国人怎么办 宝宝在学校不敢跟老师说话怎么办? 早教课上宝宝总爱乱跑怎么办? 20天大的宝宝4天不拉大便怎么办 还不会说话的小孩子脾气大怎么办 两岁的宝宝说话变的口吃怎么办 37周b超宝宝腿短怎么办 3岁的宝宝说话说不好怎么办 小儿说话晚的原因宝宝说话晚怎么办 22岁的儿子在家不说话怎么办 儿子2周4个月了不说话怎么办 三岁的宝宝还不会数数怎么办 2岁宝宝晚上不睡觉不听话怎么办 8个月的狗狗怕人不敢出门怎么办 狗太怕人了怎么办都不敢出门 媳妇和婆婆晚上都不想带孩子怎么办 婆婆和媳妇带孩子观念不一样怎么办 婆婆给媳妇买了不喜欢的家具怎么办 断奶后宝宝对奶粉很抗拒怎么办 两岁宝宝断奶不喝奶粉怎么办 宝宝两岁了断奶后奶粉不吃怎么办 宝宝断奶两天了不愿意吃奶粉怎么办 一岁四个月宝宝断奶不喝奶粉怎么办 四个月宝宝断奶不喝奶粉怎么办 四个月宝宝断奶后不吃奶粉怎么办 2岁的宝宝不开口说话怎么办 一周岁宝宝断奶不喝奶粉怎么办 八个月宝宝断奶不喝奶粉怎么办 婆家人总是用心机对待娘家人怎么办 婆婆老是背后说我娘家人坏话怎么办 婆家姐带孩子住娘家不走怎么办?