下拉框从后台给出默认选中项

本文探讨了HTML下拉框中selected属性的正确使用方式,解决了默认选中项失效的问题,并提供了一种简洁的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个很奇怪的现象,下拉框的selected属性如果为空,那么默认选中项将失去该有的功能,举例:

<select id="machRoom">
  <option id= "1" selected="">sdf11</option>
  <option id= "2" selected="">sdf22</option>
  <option id= "4" selected="selected">sdf000</option>
  <option id= "3" selected="">sdf33</option>
  </select>

比如上面,将没有默认项,原因selected属性只有为”selected“时,默认选中,当为“”时,则属性失效。这就意味着我从后台的代码错误正是如此:

机房:<select id="machRoom" onchange="showDev();">
                     <c:forEach items="${roomList}" var="list" >
<option value="${list.key}" selected="${list.key==flag1}?'selected':''">${list.value} </option>
</c:forEach>
</select>

原因:当没有选中的项循环时,给selected属性赋值为“”,故而错误。

当了解到<option id= "4" selected>sdf000</option>这种方式也能默认选项时,我笑了,迅解决如下:

机房:<select id="machRoom" >
<c:forEach items="${roomList}" var="list" >
<option value="${list.key}" ${list.key==flag1?'selected':''}>${list.value}</option>
</c:forEach>
</select>

flag1为后台默认要选中的选项。这是就避免了selected=“”时的情况。


附:个人qq空间:http://user.qzone.qq.com/449125551/profile/sync#!app=2&via=QZ.HashRefresh&pos=1384014434

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值