jquery json 三級省市聯動

servlet代碼

public class Demo1Servlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 獲取請求參數
request.setCharacterEncoding("utf-8");
String pid = request.getParameter("pid");

ProvinceServiceImpl provinceServiceImpl = new ProvinceServiceImpl();
List<CityInfo> areas = provinceServiceImpl.getProvince(pid);
//利用插件封裝數據
JSONSerializer jsonSerializer = new JSONSerializer();
String json = jsonSerializer.serialize(areas);
System.out.println(json);
// 設置響應
response.setContentType("application/json;charset=utf-8");
        response.getWriter().print(json);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doGet(request, response);
    }

}

jquery解析

<script type="text/javascript">
    $(function(){
        // 初始化省
        loadArea(0,"s1");

        // 當省變化時 加載市
        $("#s1").change(function(){
            // 清空市
            $("#s2").empty();
            $("#s2").append("<option value=''>--請選擇市--</option>");

            // 清空區縣
            $("#s3").empty();
            $("#s3").append("<option value=''>--請選擇區縣--</option>");

            var code1 = $(this).val();
            loadArea(code1,"s2");
        });

        // 當市變化時 加載區縣
        $("#s2").change(function(){
            // 清空區縣
            $("#s3").empty();
            $("#s3").append("<option value=''>--請選擇區縣--</option>");

            var code1 = $(this).val();
            loadArea(code1,"s3");
        });
    });

    function loadArea(pid, sid) {
        $.post("${pageContext.request.contextPath }/demo1",{"pid":pid},function(data){
            $(data).each(function(){
                //console.info(this.cityName);
                var cityname = this.cityName;
                var codeid = this.codeid;

                // 將城市名稱和城市id組裝成option
                var $option = $("<option value='" + codeid + "'>" + cityname + "</option>");

                // 在省的select後面追加option
                $("#" + sid).append($option);
            });
        });
    }
</script>
</head>
<body>
    <select id="s1">
        <option value="">--請選擇省--</option>
    </select>

    <select id="s2">
        <option value="">--請選擇市--</option>
    </select>

    <select id="s3">
        <option value="">--請選擇區縣--</option>
    </select>
</body>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章