我正在处理一个基于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触发它时,它只清除select的文本。有任何想法吗?我想在不加载库的情况下这样做。
答案 0 :(得分:-1)
您无法在IE中更改<select>
的内容。您必须替换整个<select>
元素
答案 1 :(得分:-1)
在IE中有一个已知的错误,微软确认了&#34; innerHTML&#34;无法在IE中选择对象,它在此page中声明。他们给出了解决方法,建议在select标签周围包装div并使用innerHTML。请参阅相同的解决方法页面。希望这会有所帮助。