2010-11-27 57 views
5

我正在使用IE7。当鼠标悬停在选项上时,我希望在页面上显示选择框中每个选项的说明。因此,当我开始编写代码时,鼠标悬停在选项上时显示文本框中的选项值。但它从来没有工作。它就像变化事件一样工作。为IE选择的鼠标悬停选项

<input name="selectedValue" id="selectedValue" > 
<select id="TestCombo" name="TestCombo" > 
    <option value="0" selected="selected">Zero</option>  
<option value="1">One</option> 
<option value="2">Two</option> 
<option value="3">Three</option> 
</select> 

<script type="text/javascript"> 
$(function() { 
    $('#TestCombo option').mouseover(function() { 
      $('#selectedValue').val($('#TestCombo option:selected').val()); 
    }); 
}); 
</script> 

在此先感谢

+0

基本上这个事件不会跨浏览器工作,责怪IE自IE6以来一直搞不好。另一方面,您的`$()。ready(`语法已被废弃,请使用`$(function(){`或者更长:`$(document).ready(function(){`' – 2010-11-27 14:39:01

+0

'您正在使用IE7?因为这是你的主浏览器? – 2011-09-29 01:46:33

回答

1

如果您想要描述显示在鼠标悬停,而不是变化,我认为这是更好地使用提示。这可以通过HTML的title属性完成,不需要JS。

例子:

<input name="selectedValue" id="selectedValue"> 
<select id="TestCombo" name="TestCombo" > 
    <option title="Nothing." value="0" selected="selected">Zero</option>  
    <option title="The smallest number that has a meaning." value="1">One</option> 
    <option title="Look, another small number!" value="2">Two</option> 
    <option title="RGB - Red-Green-Blue. That's three colors!" value="3">Three</option> 
</select> 
1

你所试图做的是不是一个标准的Web实践。我不是说它是错的,我可以看到你为什么想要这样做。我认为你的答案是不用打扰选择控件,并试着找到或设计一个与输入元素一起工作的控件,并模仿'select'正在做什么。这并不困难,最终你可能会拥有更好的控制和跨浏览器功能。

1

我会使用某种类型的插件(如this one),它是跨浏览器兼容的,并且操纵ul的外观看起来像是select下拉框。

不幸的是IE把球放在了select元素上,并且几乎不给它们控制权。