首先,我的英语不是很好。遗憾。
我希望<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。
答案 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>