三级联动

Posted 9797ch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三级联动相关的知识,希望对你有一定的参考价值。

package com.bj.controller;

import com.bj.entity.Area;
import com.bj.service.AreaService;
import com.bj.service.impl.AreaServiceImpl;
import com.google.gson.Gson;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

@WebServlet("/areaServlet")
public class AreaServlet extends HttpServlet{
    //首先肯定要 初始化 这个类
    private AreaService as = new AreaServiceImpl();
    @Override充实
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       Integer parentid=Integer.parseInt(req.getParameter("parentid"));
        List<Area> areas = as.findAreaByParentid(parentid);
        Gson gson=new Gson();
        String areaStr = gson.toJson(areas);
        resp.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=UTF-8");
        PrintWriter writer = resp.getWriter();
        writer.print(areaStr);


    }
}
<%--
  Created by IntelliJ IDEA.
  User: x1c
  Date: 2019-12-22
  Time: 12:09
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
<script src="jquery-1.12.3.min.js"></script>
    <script>
      function showData(val,tagid){
          //使用ajax进行异步请求
          $.ajax({
              type:"GET",
              url:"areaServlet",
              data:{parentid:val},
              dataType:‘JSON‘,
              success:function(areas){
                  //上一个标签每次换了选择 后面都的清空
                  $(tagid).html(" <option>-请选择-</option>")
                  for(var i in areas){
                      $(tagid).append(‘<option value="‘+areas[i].areaid+‘">‘+areas[i].areaname+‘</option>‘)

                  }
                  //必须加上这个 要不然不能达到 省份改变 县城刷新
                  if(tagid=="#city"){
                      $("#qu").html("<option>-请选择区-</option>")
                  }

              }

          })

      }
      //页面加载函数
      $(function(){
          //传的第一个参数为0  就可以吧省会都查出来 传入 Provience标签
          showData(0,‘#provience‘)
      })

    </script>

  </head>
  <body>
  籍贯:
  <select id="provience" onchange="showData(this.value,‘#city‘)">
    <option>-请选择-</option>
  </select>
  <select id="city" onchange="showData(this.value,‘#qu‘)">
    <option>-请选择-</option>
  </select>
  <select id="qu">
    <option>-请选择区-</option>
  </select>

  </body>
</html>

以上是关于三级联动的主要内容,如果未能解决你的问题,请参考以下文章

ios收货地址三级联动选择

ajax省市区三级联动

三级联动

三级联动 省市 ajax的代码

三级联动 省市 ajax的代码

Ajax三级联动