-1

我正在处理基于 onChange 事件中的另一个选择框填充的选择框。它适用于除 IE 以外的所有浏览器。

function getVersion(str){
if (str==""){
    document.getElementById("vSelect").innerHTML="<option value=''>Please Select a product</option>";
return;
}

if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    document.getElementById("vSelect").innerHTML=xmlhttp.responseText;
  }
}
xmlhttp.open("GET","includes/version.php?product="+str,true);
xmlhttp.send();
}

它改变了这一点

<label>Version: </label>
<select id='vSelect'>
    <option value=''>Please Select a product</option>
</select>

在 IE 中,当 onchange 触发时,它只会清除选择的文本。有任何想法吗?我正在尝试在不加载库的情况下执行此操作。

4

2 回答 2

-1

IE 中有一个已知错误,微软确认“innerHTML”无法处理 IE 中的选择对象,并在此页面中声明。他们给出了解决方法,建议在 select 标签周围包裹一个 div 并使用 innerHTML。有关解决方法,请参见同一页面。希望这可以帮助。

于 2013-08-26T00:34:13.183 回答
-1

您不能<select>在 IE 中更改 a 的内容。您必须替换整个<select>元素

于 2013-08-26T00:03:52.607 回答