关于使用三元运算符来判断下拉框选项是否选中的总结

我们经常会从后台传递一组数据,这一组数据需要放到一个select下拉框中,并且要判断是否要选中其中某一个值

错误的做法是

<select >

  <option selected="${value.week==1?'selected' :''}>周一</option>"

  <option selected="${value.week==2?'selected' :''}>周二</option>"

  <option selected="${value.week==3?'selected' :''}>周三</option>"

  <option selected="${value.week==4?'selected' :''}>周四</option>"

  <option selected="${value.week==5?'selected' :''}>周五</option>"

</select>

通常我们以为经过EL的三元运算符的运算,得到的结果是这样的

<select >

  <option selected=' '>周一</option>"

  <option selected=' '>周二</option>"

  <option selected='selected'>周三</option>"

  <option selected=' '>周四</option>"

  <option selected=' '>周五</option>"

</select>

而实际编译后也确实生成的是这样,那为什么周三还是不会选中呢???哈哈

 

经过反复测验后得出一个结论就是

 

 

如果在一个下拉框中,有某个选项将要被选中,那么其他选项的select属性就不能有值

当我们在MyEclipse中写上这样一段

系统会有立马警告

而部署后2选项也同样不会被选中,也证明了我们的结论

 

那么要怎样用三元运算符来设置下拉框的选项是否选中呢?

如图

 

 

 

也就是

<select name="week" style="display: none" class="updateInfo">
                    <option>-请选择-</option>
                    <option ${courseMap.week == 0 ? "selected= 'selected'" : " "} value="0"> &nbsp;周 日&nbsp;</option>
                    <option ${courseMap.week == 1 ? "selected= 'selected'" : " "} value="1">&nbsp;星期一&nbsp;</option>
                    <option ${courseMap.week == 2 ? "selected= 'selected'" : " "} value="2">&nbsp;星期二&nbsp;</option>
                    <option ${courseMap.week == 3 ? "selected= 'selected'" : " "} value="3">&nbsp;星期三&nbsp;</option>
                    <option ${courseMap.week == 4 ? "selected= 'selected'" : " "} value="4">&nbsp;星期四&nbsp;</option>
                    <option ${courseMap.week == 5 ? "selected= 'selected'" : " "} value="5">&nbsp;星期五&nbsp;</option>
                    <option ${courseMap.week == 6 ? "selected= 'selected'" : " "} value="6">&nbsp;星期六&nbsp;</option>
</select>

 

如果条件成立才会有selected='selected'不然只是一个空格,不知道您看懂了么???

 

 

琢磨了半天才想明白,作为一个笔记吧!

 

转载于:https://www.cnblogs.com/FranklinD/p/4271358.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值