2013-08-25 106 views
-1

我在基於onChange事件中的另一個選擇框填充的選擇框上工作。它在每個瀏覽器中都很棒,但是IE很棒。.innerHTML在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

。有任何想法嗎?我正在嘗試在不加載庫的情況下執行此操作。

+1

儘量不要使用'innerHTML',因爲'innerHTML'太可怕了。相反,創建一個'

+0

@minitech生病看看那個,謝謝:-) –

回答

-1

IE中存在一個已知的錯誤,即Microsoft確認「innerHTML」無法在IE中的選擇對象上工作,並且在此page中聲明。他們已經給出瞭解決方法,建議圍繞select標籤打包div並使用innerHTML。請參閱該解決方法的相同頁面。希望這可以幫助。

+2

感謝您的建議,虐待嘗試尋找一個實現。我不知道這個傢伙是誰投票給每個人,但這對我來說是很好的信息。 –

-1

您不能在IE中更改<select>的內容。您必須更換整個<select>元素