thymeleaf的下拉框(select option)回显选中

在开发一个足球联赛管理系统中,需要在修改页面使用thymeleaf模板引擎先从数据库中取出数据显示在页面中,然后再对要修改的数据分别进行修改。 
在input或者textarea的回显都没有什么问题,只要之前传了对象过来,那么就在input标签里加上例如th:value="*{startDate}"即可,那么输入框里变会显示数据库中已有的数据,点击后可进行修改。 
但是select标签相对会特殊一点,我们需要进行一个判断,判断数据库中选中的是哪个option,然后在回显页面将它默认选中,同时点击下拉框后还可以选中修改成其它选项。 
因为我刚开始对thymeleaf模板引擎不是很熟悉,所以在网上找了很多方案,也一个一个试了,很多对于我这个程序并没有作用,但是这里也都列出来作为一个解决方案的参考。

解决方案一

使用switch+case的方式进行判断 
switch+case
下拉框回显1 
下拉框回显2 
可以看到,虽然的确从数据库中取出了数据库中已保存的值并显示到页面中并且已选中,但是下拉框中其他的选项却并没出现。这样就无法修改该属性。所以这个方法对我这个程序并不适用,当然也可能我程序哪里写的有问题。

解决方案二

使用th:if进行判断 
th:if
下拉框回显1 
下拉框回显2 
和上一种方式是一样的效果,同样从数据库中获取到了已有数据显示在页面中并选中,但是下拉框中其他的选项不出现。我怀疑可能还是我的程序漏写了某个部分。

最终成功的解决方案

首先不进行判断,先显示出所有的选项,保证可以进行修改的操作。然后再在selected这个属性里进行判断,从数据库中获取的值是否等于该选项的value,如果等于,则选中。 
这里写图片描述
成功的回显页面 
可以看到,最终的效果就是首先默认是数据中已有的数据,并且是选中状态。然后下拉框中有其他的选项可以选中从而完成修改操作。

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值