主页 > 知识库 > select下拉菜单实现二级联动效果

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

热门标签:银川语音外呼系统中心 高德地图标注常显 suitecrm 地图标注 外呼系统号显示星号怎么看 临沂ai电销机器人招商 揭阳电脑外呼系统公司 鹤壁外呼系统公司 承德地图标注公司收费 华创e路航彩票销售点地图标注

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

效果图:

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

代码部分

首先是建立两个表的实体

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

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

标签:三沙 汕尾 七台河 莱芜 咸宁 枣庄 忻州 许昌

巨人网络通讯声明:本文标题《select下拉菜单实现二级联动效果》,本文关键词  select,下拉菜单,实现,二级,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《select下拉菜单实现二级联动效果》相关的同类信息!
  • 本页收集关于select下拉菜单实现二级联动效果的相关信息资讯供网民参考!
  • 推荐文章