zoukankan      html  css  js  c++  java
  • Spring MVC+JSP实现三级联动

    jsp代码

    <script type="text/javascript">
        $(function() {
            initProvinces();
        });
        /**
         * 获取省列表
         */
        function initProvinces() {
            $('#province').empty();
            $.ajax({
                type : "POST",
                url : basePath + "district/getProvinces.do",
                success : function(data) {
                    $.each(data, function(i, it) {
                        $("<option value='" + it.id + "' />"
                            + it.name + "<br>").click(function() {
                                initCities(it.id);
                        }).appendTo($('#province'));
                    });
                }
           });
        }
        /**
         * 获取市列表
         */
        function initCities(provinceID) {
            $('#city').empty();
            $.ajax({
                type : "POST",
                url : basePath + "district/getCities.do?province=" + provinceID,
                success : function(data) {
                    $.each(data, function(i, it) {
                        $("<option value='" + it.id + "' />"
                            + it.name + "<br>").click(function() {
                                initCounties(it.id);
                        }).appendTo($('#province'));
                    });
                }
            });
        }
        /**
         * 获取区县列表
         */
        function initCounties(cityID) {
            $('#county').empty();
            $.ajax({
                type : "POST",
                url : basePath + "district/getCounties.do?city=" + cityID,
                success : function(data) {
                    $.each(data, function(i, it) {
                        $("<option value='" + it.id + "' />"
                            + it.name + "<br>")
                        .appendTo($('#province'));
                    });
                }
     });
    }
    //……
    </script>
    <body>
     选择地区:
     <select id='province'><option>---省---</option></select>
     <select id='city'><option>---市---</option></select>
     <select id='county'><option>---区---</option></select>
    </body>
    spring MVC 代码:
    
    @Controller
    @RequestMapping(value = "/district")
    public class districtController {
        @Resource
        private DistrictService districtService;
     /**
      * 获取省列表
      * @return
      * @throws Exception
      */
     @RequestMapping(value = "getProvinces")
     @ResponseBody
     public Object getProvinces() throws Exception {
        return districtService.getProvinces();
     }
     /**
      * 获取市列表
      * @param province
      * @return
      * @throws Exception
      */
     @RequestMapping(value = "getCities")
     @ResponseBody
     public Object getCities(@RequestParam(value = "province") String province) throws Exception {
        return districtService.getCities();
     }
        // 再往下级的获取方式和getCities方法都相同,所以此处略过
    }

     3个select。 第一个select的option是写到页面的或者jsp标签。然后给这个select的change绑定事件,让这个事件去加载第二个select的option。同样,给第二个select也绑定一个change事件去加载第三个select的数据。

    //绑定事件
    $("#select1").live(change,function(){
        $.ajax({
            url:aaaa,//提交的地址
            data:{
                select1id:$("#select1").val();
            }
            type:'post',
            datatype:'json',
            success:function(return){
                $("#select2 option").remove();//清空原来的选项
                for(var i=0;i<return.length;i++)
                {
                  $("#select2").append("<option val='"+return[i].value+"'> "+return[i].name+"</option>")  
                }
            }
        })
    })
    @requestMapping("/")
    @responseBody
    public List<City> getCitysByErea(String ereaid,HttpServletRequest request,HttpServletResponse response){
        List<City> citys =cityService.getXXX(erarid);
        return citys;
    }
  • 相关阅读:
    js中图片上传,多次上传同一张不生效
    mysql统计一年12月的数据
    jquery.qrcode.js 生成二维码并支持中文的方法
    layui 的 GitHub 及 Gitee (码云) 仓库
    枚举应用demo
    第十二节 线性回归:波士顿房价预测
    第十二节 gevent多任务
    第十一节 yield实现多任务
    第十节 next和send取生成器的值
    第九节 生成器
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4995591.html
Copyright © 2011-2022 走看看