select下拉菜单实现二级联动效果
作者:生花脱颖 发布时间:2023-05-22 22:30:32
标签:select,下拉菜单
需求:建立年级、班级两个数据表,获取年级表信息,根据年级,获取相应的班级
效果图:
不完美的地方就是在不选择年级的时候,是不能选择任何班级的。
代码部分
首先是建立两个表的实体
需要注意的就是写注解了。代码就不贴了。
DAO层代码
年级DAO
年级的DAO层没什么代码,就是继承那三个类,具体用到哪个我也不清楚,就直接都继承了。
public interface GraceDAO extends PagingAndSortingRepository<Grace, String>,JpaSpecificationExecutor<Grace>,JpaRepository<Grace, String>
{
}
班级DAO
班级DAO里面就这一行代码,用的是内置的findBy方法,我的gid在数据库中是int型,在这里为了方便用的string型(我的可以实现操作,不可以的话强制转型成int就可以了,问题不大)
List<Cla> findByGid(String gid);
service层
年级
年级这里不需要有什么操作,直接查出全部就可以了,所以我就用了内置的findAll方法
@Service
public class GraceService {
@Autowired
private GraceDAO graceDAO;
public List<Grace> findAll(){
return graceDAO.findAll();
}
}
///////下面是内置findAll方法的注释什么的。用不到,只是贴出来给大家看一下
/*
* (non-Javadoc)
* @see org.springframework.data.repository.CrudRepository#findAll()
*/
List<T> findAll();
班级
班级这里要根据获取到的gid进行查询
public List<Cla> findByGid(String gid){
return claDAO.findByGid(gid);
}
Controller层
//查询所有年级信息
@RequestMapping("grace")
@ResponseBody
public List<Grace> grace(){
return graceService.findAll();
}
//根据年级的gid获取班级信息
@RequestMapping("cla")
@ResponseBody
public List<Cla> 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下拉菜单实现二级联动效果,希望对大家有所帮助!
来源:https://blog.csdn.net/ZF2015908732/article/details/102694926


猜你喜欢
- 如果用户输入的是直接插入到一个SQL语句中的查询,应用程序会很容易受到SQL注入,例如下面的例子:$unsafe_variable = $_
- 在JavaScript中,可以用三种方法来遍历对象的property:1.for/in。可以使用for/in语句遍历对象自身的propert
- 本文实例讲述了Python可变参数用法。分享给大家供大家参考,具体如下:#!/usr/bin/env python# -*- coding:
- 问题一:python启动报错api-ms-win-crt-process-l1-1-0.dll 丢失解决:下载api-ms-win-crt-
- mysql> select 'name',id from table_b; //'name' 不在ta
- 三遍记忆,让你记住海量素材的准确位置和用途,提高其可用性.这仅仅是一个示意图.在以往的日子里,我做到了只要脑袋里冒出一个想法,立刻就能知道我
- CAS算法(compare and swap)CAS算法涉及到三个操作数需要读写的内存值V进行比较的值A拟写入的新值B当且仅当 V 的值等于
- 字典dict_fruit = {'apple':'苹果','banana':'香蕉&
- 本文实例讲述了python删除特定文件的方法。分享给大家供大家参考。具体如下:#!/usr/bin/python# -*- coding:
- 本文实例讲述了Golang编程实现删除字符串中出现次数最少字符的方法。分享给大家供大家参考,具体如下:描述:实现删除字符串中出现次数最少的字
- 实例如下所示:tcode={}transcode={}def GetTcode():#从文本中获取英文对应的故障码,并保存在tcode字典(
- 数据可视化是数据科学或机器学习项目中十分重要的一环。通常,你需要在项目初期进行探索性的数据分析(EDA),从而对数据有一定的了解,而且创建可
- 本节为大家分享的例子是wxpython Frame的用法。例子:#!/usr/bin/python # -*- coding:
- 目录行遍历实现linecache实现命令行sed获取总结概要行遍历实现在python中如果要将一个文件完全加载到内存中,通过file.rea
- 一、多行函数又称组合函数(Group Functions)、聚合函数 1、 Types of Group Functions avg、cou
- Python当中并无switch语句,本文研究的主要是通过字典实现switch语句的功能,具体如下。switch语句用于编写多分支结构的程序
- 基于python opencv人脸识别的签到系统前言先看下效果实现的功能开始准备页面的构建功能实现代码部分总结前言一个基于opencv人脸识
- 我们首先来看下实例代码:function sig_handler($sig){ print("handled sig:
- 一、效果图二、必要工具Python3.7pycharm2019再然后配置它的文件,设置游戏屏幕的大小,图片路径。代码如下''
- ASP由于是一种古老的语言,它的一些功能对UTF-8支持非常差。比如,你想生成一个UTF-8格式的文件,使用常用的 scrīpting.Fi