FireFox 下selected = selected失效,使用javascript动态改变select的selected属性时,发现不起作用,下面为大家详细分析下
使用javascript动态改变select的selected属性时,发现不起作用。

某个<option selected = 'selected' >hello</option>明明有selected = 'selected' 但是选中的却不是它

只有预先写好的<option selected = 'selected' >hello</option>才会显示被选中。

这个问题在firefox5下才会出现,在FF4下不会,所以我猜想是不是FF5的一个BUG。

可能的原因是FF5处于性能考虑,将一开始加载的dom元素的一些属性缓存起来了,而当使用F5刷新的时候,FF依然使用缓存中的属性,而不使用新的属性。

只有使用CTRL+F5强制刷新时,才能渲染新的属性。

最终,在stackoverflow中找到了解决方法:http://stackoverflow.com/questions/6849057/firefox-5-not-using-select-selected-value-on-page-refresh-retaining-old-value

里面说只要在select标签中加autocomplete = ‘off “就行了,<select id="sportid" name="sportid" autocomplete="off">

试了一下,确实有用。