关于有时select下拉表单selected设置无效的解决方案
2016-10-26 10:48
381 查看
<select class="form-control" name="user_level" <strong><span style="color:#ff0000;">autocomplete="off"</span></strong>> <option value="">--请选择--</option> <if condition="$user_info['user_level'] eq '0'"> <option value="0" selected="selected">普通</option> <else /> <option value="0">普通</option> </if> <if condition="$user_info['user_level'] eq '1'"> <option value="1" selected="selected">会员</option> <else /> <option value="1">会员</option> </if> <if condition="$user_info['user_level'] eq '2'"> <option value="2" selected="selected">贵宾</option> <else /> <option value="2">贵宾</option> </if> </select>
以上只是本人的一个案例(thinkphp模板引擎)
如果你懒的看上面的不要紧,下面我直接说吧
正常情况下我们都是这么写的
<select name="自定义名称"> <option value="1">1</option> <option value="2" selected="selected"> 2</option> <option value="3">3</option> </select>
按着上面的写法一般来说没什么问题,可是有时候可能是使用了前段框架的问题,导致红色项没有按我们预期的被选中,如果遇到这种情况我们可以进行如下标准写法就可以解决问题了
<select name="自定义名称" autocomplete="off"</span>> <option value="1">1</option> <option value="2" selected="selected"> 2</option> <option value="3">3</option> </select>
加了autocomplete="off"后就任何问题都解决了
这个问题估计你在其它地方也会看到类似的解决方案,但是并没有给出为什么?
原因:是因为“例如火狐”为了提高浏览器性能,使用了缓存技术,就比如你的输入框双击后会出现之前的输入的内容一个道理,解决方法就是加autocomplete="off"或者手动清除浏览器缓存,两种方法肯定推荐用前者
火狐官方论坛解释:http://stackoverflow.com/questions/6849057/firefox-5-not-using-select-selected-value-on-page-refresh-retaining-old-value
火狐5版本就有这个问题,4没发现,不排除其它浏览器也作了类似的处理,所以为了保险起见,最好都加上autocomplete="off"
纯属个人亲身经历,如果能帮到你,欢迎给个赞,若有不妥之处请指出!
相关文章推荐
- HTML中select的option设置selected="selected"无效的解决方案
- 关于select下拉框最后一项鼠标经过不能变色及设置宽度后下拉框无法滚动的bug?
- select下拉框内容回显 并将对应的option设置为selected选中状态
- 关于用js和attr("selected",true);给select设置选中的值失效问题
- 关于select2高度自定义设置解决方案
- 关于用js和attr("selected",true);给select设置选中的值失效问题
- 关于用js和attr("selected",true);给select设置选中的值失效问题
- 关于用js和attr("selected",true);给select设置选中的值失效问题
- 关于使用SpringSecurity不能设置Session并发无效、剔除前一个用户无效的核心解决方案
- 动态给option设置selected后,select下拉框显示不正确,selected=“selected”的option
- 动态给option设置selected后,select下拉框显示不正确,未显示默认值
- 关于用js和attr("selected",true);给select设置选中的值失效问题
- 关于在IE下对Select标签设置innerHTML无效的问题
- HTML中select的option设置selected="selected"无效的解决方案
- select动态添加option与动态设置下拉框默认选项(selected)的问题(原创)
- 关于js设置标签样式来显示图片背景无效的解决方案
- 解决select 下拉框 设置disabled属性后 form表单提交到后台取不到值的情况
- 关于用js和attr("selected",true);给select设置选中的值失效问题
- 关于用js和attr("selected",true);给select设置选中的值失效问题
- 关于用js和attr("selected",true);给select设置选中的值失效问题