2009-12-04 144 views
1

所以我有一個crossbrowser JavaScript問題。IE6:獲取DOM選擇元素的值

我有一個<select> dom元素有一些後代<option>元素selected=true

在Firefox中,我只需要執行select_elt.value即可獲取所選選項的值,但這似乎在IE6(我需要支持)中不起作用。

我試圖迭代通過select_elt.getElementsByTagName('option')找到所選的<option>,我可以這樣做,但option_elt.value仍然沒有給我這個選項的價值。

那麼,什麼是適當的辦法讓IE6的選擇或選擇元素的值?

(是的,我知道我應該開關將jQuery或其他一些crosssplatform庫,並且我還可以,但現在我很好奇這是如何在IE6所有做

+1

你可以發佈你用來獲取該值的整個代碼嗎? IE6應該支持option.value屬性。 另外,您是否嘗試過使用selectedIndex屬性,而不是通過選項進行交互?如在select.options [select.selectedIndex]中一樣? 另外,它不是一個多選,對吧? – Zenon 2009-12-04 21:59:59

回答

2

這是最跨瀏覽器兼容的方式(在我的經驗),要做到這一點:

var mySelect = document.getElementById('mySelect'); 
alert(mySelect.options[mySelect.selectedIndex].value); 
0

找到它in jquery

(option_elt.attributes.value || {}).specified ? option_elt.value : option_elt.text 
0

試試這個:

select_elt.options[select_elt.options.selectedIndex].value