【问题标题】:IE6: get value of a DOM select elementIE6:获取 DOM 选择元素的值
【发布时间】:2009-12-04 21:42:17
【问题描述】:

所以我遇到了跨浏览器 javascript 问题。

我有一个<select> dom 元素,它有一些后代<option> 元素和selected=true

在 Firefox 中,我可以通过 select_elt.value 获取所选选项的值,但这似乎不适用于 IE6(我需要支持)。

我尝试遍历 select_elt.getElementsByTagName('option') 以找到选定的 <option>,我可以这样做,但 option_elt.value 仍然没有给我该选项的值。

那么在 IE6 中获取选项或选择元素的值的适当方法是什么?

(是的,我知道我应该切换到 jQuery 或其他一些跨平台库,我可能还没有,但现在我很好奇这是如何完成的根本 在 IE6 中)

【问题讨论】:

  • 你能发布你用来获取价值的整个代码吗? IE6 应该支持 option.value 属性。此外,您是否尝试过使用 selectedIndex 属性,而不是通过选项进行交互?如 select.options[select.selectedIndex] ?另外,它不是多选,对吧?

标签: select internet-explorer-6 javascript option


【解决方案1】:

这是最跨浏览器兼容的方式(根据我的经验):

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

【讨论】:

    【解决方案2】:

    找到它in jquery

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

    【讨论】:

      【解决方案3】:

      试试这个:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-23
        • 1970-01-01
        • 1970-01-01
        • 2017-05-11
        • 2010-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多