三级联动基于vue和layui

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <%@ include file="../../common/head.jsp" %>
    <script type="text/javascript" src="${webRoot}/static/layuiadmin/layui/layui.all.js"></script>
    <script type="text/javascript" src="${webRoot}/static/js/admin.js"></script>
</head>
<body>
<div class="layui-fluid">
    <div class="layui-row layui-col-space15">
        <div class="layui-tab layui-tab-brief">
            <form class="layui-form" style="margin-top: 10px" id="app">
                <div class="layui-form-item">
                    <label class="layui-form-label">省</label>
                    <div class="layui-input-inline" >
                        <select name="regionId" lay-filter="selectPro" lay-verify="required"  >
                            <option value="">请选择省</option>
                            <option v-for="pro in proList" :value="pro.regionId">{{pro.regionName}}</option>
                        </select>
                    </div>
                    <font color="red">*</font>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">市</label>
                    <div class="layui-inline" >
                        <select name="classId" lay-verify="required" lay-filter="selectCity">
                            <option value="">请选择市</option>
                            <option  v-for="city in cityList" :value="city.regionId">{{city.regionName}}</option>
                        </select>
                    </div>
                    <font color="red">*</font>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">区</label>
                    <div class="layui-inline" >
                        <select name="classId" lay-verify="required" >
                            <option value="">请选择区</option>
                            <option  v-for="dd in districtList" :value="dd.regionId">{{dd.regionName}}</option>
                        </select>
                    </div>
                    <font color="red">*</font>
                </div>
                <div class="layui-form-item">
                    <div class="layui-inline">
                        <label class="layui-form-label"></label>
                        <button class="layui-btn" lay-submit="" lay-filter="add">立即提交</button>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>
</body>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            proList:[],
            cityList:[],
            districtList:[]
        }, created: function () {
            $.post("${webRoot}/schoolAdmin/classHeader/selectPro", function (res) {
                app.proList = res;
            })
        },updated:function () {
            form.render();
        }
    });
    //监听选择框年级是否发生变化 ,班级要随年级的变化儿变化
    form.on('select(selectPro)', function(data){
        if (data==null){
            app.cityList=[];
            app.districtList=[];
            return false;
        }
        $.post("${webRoot}/schoolAdmin/classHeader/selectCityByProId",{'proId':data.elem.value}, function (res) {
            app.districtList=[];
            if (res==null){
                app.districtList=[];
                return false;
            }
            app.cityList = res;
        });
    });
    form.on('select(selectCity)', function(data){
        $.post("${webRoot}/schoolAdmin/classHeader/selectUByCityId",{'cityId':data.elem.value}, function (res) {
            app.districtList = res;
        });
    });

</script>
</html>

@RequestMapping(value = "/selectPro",method = RequestMethod.POST)
    @ResponseBody
    public List<JxjlRegion> selectPro( HttpServletRequest request) throws CustomException {
        return  classHeaderService.selectPro();
    }
    @RequestMapping(value = "/selectCityByProId",method = RequestMethod.POST)
    @ResponseBody
    public List<JxjlRegion> selectCityByProId(int proId, HttpServletRequest request) throws CustomException {
        return  classHeaderService.selectCityByProId(proId);
    }
    @RequestMapping(value = "/selectUByCityId",method = RequestMethod.POST)
    @ResponseBody
    public List<JxjlRegion> selectUByProId(int cityId, HttpServletRequest request) throws CustomException {
        return  classHeaderService.selectUByProId(cityId);
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值