首页前端开发其他前端知识select下拉菜单实现二级联动效果

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

时间2024-02-10 18:39:03发布访客分类其他前端知识浏览625
导读:收集整理的这篇文章主要介绍了select下拉菜单实现二级联动效果,觉得挺不错的,现在分享给大家,也给大家做个参考。 需求:建立年级、班级两个数据表,获取年级表信息,根据年级,获取相应的班...
收集整理的这篇文章主要介绍了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方法

@Servicepublic 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")@ResponseBodypublic ListGrace>
 grace(){
     return graceService.findAll();
}
    //根据年级的gid获取班级信息@RequestMapping("cla")@ResponseBodypublic 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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: select下拉菜单实现二级联动效果
本文地址: https://pptw.com/jishu/608730.html
Git获取本地分支对应的远端服务器分支名的方法 adb shell input keyevent 控制按键输入的数值(收藏版)

游客 回复需填写必要信息