三级联动代码:

/**系别**/

private Integer did;//系别ID
private String dName;//系别名称

public Integer getDid() {
    return did;
}

public void setDid(Integer did) {
    this.did = did;
}

public String getdName() {
    return dName;
}

public void setdName(String dName) {
    this.dName = dName;
}

@Override
public String toString() {
    return "Department{" +
            "did=" + did +
            ", dName='" + dName + '\'' +
            '}';
}

/**班级**/

private Integer cid;  //班级id
private String cName;//班级名称
private int did;//系别iD


@Override
public String toString() {
    return "Classes{" +
            "cid=" + cid +
            ", cName='" + cName + '\'' +
            ", did=" + did +
            '}';
}

public Integer getCid() {
    return cid;
}

public void setCid(Integer cid) {
    this.cid = cid;
}

public String getcName() {
    return cName;
}

public void setcName(String cName) {
    this.cName = cName;
}

public int getDid() {
    return did;
}

public void setDid(int did) {
    this.did = did;
}

/**学生**/

public class Student {
    private Integer sid; //学生id
    private String  sName;//学生名称
    private int cid;//班级id

    @Override
    public String toString() {
        return "Student{" +
                "sid=" + sid +
                ", sName='" + sName + '\'' +
                ", cid=" + cid +
                '}';
    }

    public Integer getSid() {
        return sid;
    }

    public void setSid(Integer sid) {
        this.sid = sid;
    }

    public String getsName() {
        return sName;
    }

    public void setsName(String sName) {
        this.sName = sName;
    }

    public int getCid() {
        return cid;
    }

    public void setCid(int cid) {
        this.cid = cid;
    }
}

/**控制层**/

@Controller
@Component
public class linkageController {

    @Autowired
    private LinkageDao linkageDao;

    @Autowired
    private RedisTemplate redisTemplate;

    @RequestMapping("/getLinkage")
    public String getLinkage() {
        return "linkage";
    }

    @RequestMapping("/getDepartment")
    @ResponseBody
    public List<Department> getDepartment() {
        List<Department> departments = linkageDao.selectDepartment();
        System.out.println(departments);
        return departments;
    }

    @RequestMapping("/getClass")
    @ResponseBody
    public List<Classes> getClasses(@RequestParam(value = "did")Integer did) {
        List<Classes> classes = linkageDao.selectClasses(did);
        System.out.println(classes);
        return classes;
    }


    @RequestMapping("/getStudent")
    @ResponseBody
    public List<Student> getStudents(@RequestParam(value = "cid")Integer cid) {
        List<Student> students = linkageDao.selectStudents(cid);
        System.out.println(students);
        return students;
    }

/**dao层**/

@Mapper
public interface LinkageDao {
    List<Department> selectDepartment();

    List<Classes> selectClasses(Integer did);

    List<Student> selectStudents(Integer gid);
}

/**mapper层**/

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xszx.dao.LinkageDao">

    <select id="selectDepartment" resultType="com.xszx.beans.Department">
    select * from t_department
    </select>

    <select id="selectClasses" resultType="com.xszx.beans.Classes">
        select * from t_classes where did=#{did}
    </select>

    <select id="selectStudents" resultType="com.xszx.beans.Student">
        select * from t_student where cid=#{cid}
    </select>
</mapper>

/**AjaxJson传值**/

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>三级联动页面</title>
    <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
    <script>
        $(function(){
            //第一层下拉框出现
            $.ajax({
                url:"/getDepartment",
                dataType : "json",
                success:function(data){
                    console.log("检查json"+data)
                    //清空select  下拉框
                    $("#xb").children().not(":eq(0)").remove();
                    //遍历数据
                    for(var i=0;i<data.length;i++){
                        $("#xb").append("<option value="+data[i].did+">--" +data[i].dName+ "--</option>");
                    }
                }

            });

            //下拉框2
            $("#xb").change(function () {
                //获取第一个下拉框的id
                var did =  $("#xb").val();
                $.ajax({
                    url:"/getClass",
                    // type:"post",
                    data:{
                        did:did
                    },
                    dataType : "json",
                    success:function(data){
                        //清空select  下拉框
                        $("#bj").children().not(":eq(0)").remove();
                        $("#bj").children().not(":eq(0)").remove();
                        //遍历数据
                        for(var i=0;i<data.length;i++){
                            $("#bj").append("<option value="+data[i].cid+">--"+data[i].cName+"--</option>");
                        }
                    }
                });
            });




            ///下拉框3
            $("#bj").change(function () {
                var cid =  $("#bj").val();
                // alert("下拉框被改变" + id);
                $.ajax({
                    url:"/getStudent",
                    // type:"post",
                    data:{
                        cid:cid
                    },
                    dataType : "json",
                    success:function(data){
                        //清空select  下拉框
                        $("#xs").children().not(":eq(0)").remove();
                        //遍历数据
                        for(var i=0;i<data.length;i++){
                            $("#xs").append("<option value="+data[i].sid+">--"+data[i].sName+"--</option>");
                        }
                    }
                });
            });

        });



    </script>
</head>
<body><form action="" method="post">
    系
    <select id="xb" name="s1">
        <option>请选择</option>

    </select>

    班
    <select id="bj"  name="s2">
        <option>请选择</option>

    </select>

    学生
    <select id="xs" name="s3">
        <option>请选择</option>

    </select>
    <input type="submit">
</form>


</body>
</html>
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值