(ie10,ie11)select标签中的错误(使用多个)

时间:2014-01-27 00:17:51

标签: javascript html internet-explorer

首先,我的英语不是很好。遗憾。

我希望<select multiple>中的选项文字动态更改。

所以,我使用javascript ..

options[].text = 'changeValue';

价值变化是成功的,
但我不能再选择其他选项了。

可以在ie9中选择其他选项 但是ie10和ie11不能选择其他选项。

请让我知道为什么会这样。

html来源

<!DOCTYPE html>
<html>
<body>
    <form>
        <select multiple onchange="myFunction(this)">
            <option>Apple</option>
            <option>Orange</option>
            <option>Pineapple</option>
            <option>Banana</option>
        </select>
    </form>

    <p id="demo"></p>
    <script>
    function myFunction(selTag){
        var x = selTag.options[selTag.selectedIndex].text;
        selTag.options[selTag.selectedIndex].text = "value";
        //selTag.options[selTag.selectedIndex].innerHTML = "value";
        document.getElementById("demo").innerHTML="You selected: " + x;
    }
    </script>
</body>
</html>

捕获屏幕

http://youtube.com/watch?v=qfWnvkpY1J0&feature=youtu.be


我的操作系统是

windows 7 x64 ie9,
vm windows 7 x86 ie10,
vm windows 7 x64 ie11。

2 个答案:

答案 0 :(得分:1)

我有同样的问题,我从使用.text更改为.innerHTML。

将您的代码更改为:

    selTag.options[selTag.selectedIndex].innerHTML = "value";

答案 1 :(得分:0)

您需要运行整个选项,并查看是否已设置selected属性。 将脚本更改为以下

<script>
function myFunction(selTag) {
    var x = [];
    for (var i=0; i<selTag.length; i++) {
        if (selTag[i].selected)
            x.push(selTag[i].value);
    }
    document.getElementById("demo").innerHTML="You selected: " + x.join();
}
</script>