2010-11-27 70 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元素上,並且幾乎不給它們控制權。

相關問題