2009-12-04 124 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