jeefast中实现年级、班级联动,选择17级显示17级中的班级等

  1. 第一步:首先需要实现年级下拉框查询:
    在controller中:此处的方法使用的iservice中的方法
	@RequestMapping("/findAll")
    @RequiresPermissions("platform:grade:findAll")
    public R findAll(){
        Map<String,Object> map = new HashMap<>();
        List<PfGrade> list = pfGradeService.selectByMap(map);
        return R.ok().put("list", list);
    }

html和js中:
html中:此处在select标签中加入了@change事件,目的是当选择好了年级之后可以自动触发查询班级的方法。

			<div class="form-group">
                <div class="col-sm-2 control-label">年级</div>
                <div class="col-sm-10">
                    <select v-model="student.sgrade" @change="getClassData" id="selectGid">
                        <option value="0">--请选择年级--</option>
                        <option v-for="gra in grade" :value="gra.gid">{{gra.gname}}</option>
                    </select>
                </div>
            </div>

js中:可以看到,当执行add方法时自动触发getGradeData

add: function(){
            vm.showList = false;
            vm.title = "新增";
            this.getGradeData();
        },
        getGradeData:function(){
            $.post(baseURL + "platform/pfGrade/findAll",{},function (result) {
                vm.grade=result.list;
            })
        },

目前已经实现了年级的下拉框查询,接下来就是相应的在下一个下拉框中选择显示相应的班级:
2.第二步:实现班级下拉框:
先来看一下我的数据库:
年级表:在这里插入图片描述
班级表:在这里插入图片描述
都有对应的键。
①因iservice中没有对应的条件查询方法,遂只能自己定义:
dao中:

 List<PfClass> findByGid(int gid);

service和impl省略;
xml中:

<select id="findByGid" resultType="cn.jeefast.modules.platform.entity.PfClass">
        select * from pf_class where gid = #{gid}
    </select>

controller中:

@RequestMapping("/findByGid")
    @RequiresPermissions("platform:class:findAll")
    public R findByGid(@RequestBody int gid){
         List<PfClass> list = pfClassService.findByGid(gid);
         return R.ok().put("list", list);
    }

前台HTML和JS:
html中:

<div class="form-group">
                <div class="col-sm-2 control-label">班级</div>
                <div class="col-sm-10">
                    <select v-model="student.sclass">
                        <option value="0">--请选择班级--</option>
                        <option v-for="cla in classes" :value="cla.cid">{{cla.cname}}</option>
                    </select>
                </div>
            </div>

js中:因上方加入了@change方法可以点击时自动调用查询班级的,所以接下来只需要直接在js中定义此方法即可。下方js代码没有简写,因为需要给此次请求设置contenttype属性,目的是后台方法形参中使用了@RequestBody注解。具体报错如此网站:https://blog.csdn.net/feiyst/article/details/88431621
在这里插入图片描述

getClassData:function(){
            var gid=$("#selectGid").val(); //获取选中的项
            $.ajax({
                type: "POST",
                url: baseURL+"platform/pfClass/findByGid",
                contentType: "application/json",
                data: gid,
                success: function(r){
                    if(r.code == 0){
                            vm.classes=r.list;
                    }else{
                        alert(r.msg);
                    }
                }
            })
        },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值