• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    select下拉菜单实现二级联动效果

    需求:建立年级、班级两个数据表,获取年级表信息,根据年级,获取相应的班级

    效果图:

    不完美的地方就是在不选择年级的时候,是不能选择任何班级的。

    代码部分

    首先是建立两个表的实体

    需要注意的就是写注解了。代码就不贴了。

    DAO层代码

    年级DAO

    年级的DAO层没什么代码,就是继承那三个类,具体用到哪个我也不清楚,就直接都继承了。

    public interface GraceDAO extends PagingAndSortingRepositoryGrace, String>,JpaSpecificationExecutorGrace>,JpaRepositoryGrace, String>
    { 
    }

    班级DAO

    班级DAO里面就这一行代码,用的是内置的findBy方法,我的gid在数据库中是int型,在这里为了方便用的string型(我的可以实现操作,不可以的话强制转型成int就可以了,问题不大)

    ListCla> findByGid(String gid);

    service层

    年级

    年级这里不需要有什么操作,直接查出全部就可以了,所以我就用了内置的findAll方法

    @Service
    public class GraceService {
     @Autowired
     private GraceDAO graceDAO;
     public ListGrace> findAll(){
     return graceDAO.findAll();
     }
    }
    ///////下面是内置findAll方法的注释什么的。用不到,只是贴出来给大家看一下
    /*
     * (non-Javadoc)
     * @see org.springframework.data.repository.CrudRepository#findAll()
     */
     ListT> findAll();

    班级

    班级这里要根据获取到的gid进行查询

    public ListCla> findByGid(String gid){
     return claDAO.findByGid(gid);
     }

    Controller层

    //查询所有年级信息
    @RequestMapping("grace")
    @ResponseBody
    public ListGrace> grace(){
     return graceService.findAll();
    }
    //根据年级的gid获取班级信息
    @RequestMapping("cla")
    @ResponseBody
    public ListCla> cla(HttpServletRequest req){
     String gid = req.getParameter("gid");
     //System.out.println(gid);
     return claService.findByGid(gid);
    }
    
    

    前端代码

    html部分

    div id="app">
    年级:
    select v-on:change="claa()" v-model="gid">
     option value="0">----请选择年级--- /option>
     option v-for="gra in grac" :value="gra.gid">{{gra.gname}}/option>
    /select>
    班级:
    select>
     option v-for="cl in cla">{{cl.cname}}/option>
    /select>
    /div>
    
    

    js部分

    var vm = new Vue({
    el: '#app',
     data:{
     grac:[],
     cla:[],
     gid:0//可以让年级的下拉框默认选择option value="0">----请选择年级--- /option>项
     },
     mounted(){//页面加载时开始加载下面的两个方法
     this.grace();//年级
     this.claa();//班级,为了避免class关键字,用的其他名字
     },
     methods:{//自定义方法
     grace:function(){
     $.post("/work/grace",{},function(data){
     vm.grac = data;
     });
     },
     claa:function(){
     //alert(this.gid);
     //传参:传递当前选中的gid
     $.post("/work/cla",{gid:this.gid},function(data){
     //alert(JSON.stringify(data));
     vm.cla = data;
     });
     },
     }
    });
    

    总结

    以上所述是小编给大家介绍的select下拉菜单实现二级联动效果,希望对大家有所帮助!

    您可能感兴趣的文章:
    • js动态设置select下拉菜单的默认选中项实例
    • 详解Vue用自定义指令完成一个下拉菜单(select组件)
    • jQuery插件cxSelect多级联动下拉菜单实例解析
    • jQuery模拟select实现下拉菜单功能
    • js实现select二级联动下拉菜单
    • yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
    • jQuery实现非常实用漂亮的select下拉菜单选择效果
    • jsp中将后台传递过来的json格式的list数据绑定到下拉菜单select
    上一篇:2019最新的Pycharm激活码(推荐)
    下一篇:Git获取本地分支对应的远端服务器分支名的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    select下拉菜单实现二级联动效果 select,下拉菜单,实现,二级,