HTML Select with disabled选项在FireFox中返回错误的selectedIndex

前端之家收集整理的这篇文章主要介绍了HTML Select with disabled选项在FireFox中返回错误的selectedIndex前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Select with a disabled选项,它是默认选择的一个:
<select name="select" size="1">
   <option>0</option>
   <option selected disabled>1</option>
   <option>2</option>
   <option>3</option>
   <option>4</option>
</select>

如果我选择了它,它将返回1.一切正常.

但是如果我打开弹出窗口并将光标悬停在另一个选项上(例如’4′)并通过ESC取消它或点击其他任何地方.

选择输入显示旧值1但返回时选择4.

Example with jsfiddle

Chrome仅FireFox(4/5)不会发生这种情况

解决方法

当你以这种方式退出select时,显示不会改变,但firefox正在寻找一个不同的selectedValue,因为它找到当前选中的选项为disabled,这在firefox的眼中应该是不可能的.

onChange事件直到onBlur事件(这是selectedValue将被更改,但这不是显示更改为的内容)时才触发.如果我们要在onChange事件中重置我们的值,可能会再次调用此事件.因此,通过利用onBlur事件,我们可以提供以下解决方法

onBlur =“javascript:document.getElementsByName(‘select’)[0] .selectedIndex = document.getElementsByName(‘select’)[0] .selectedIndex;”

http://jsfiddle.net/aRMpt/22/

我希望我在这里有意义.

猜你在找的HTML相关文章