2011-05-25 72 views
3

在我的網站上有一種情況,我需要在特定的選擇框中添加新的< //選項>標籤。通過在IE中設置選擇框的innerHtml

詞根記憶返回選項標籤,如

<option>one</option> 

<option>two</option> 

等一個Ajax請求,

2.將內特定的選擇框的HTML:我做了以下

document.getElementById("id").innerHTML=response; 

它運作良好,在Firefox/Chrome,但不是在IE ....

任何已知SOLUT離子爲此.. ??

+1

從來沒有想通了,爲什麼它不中,即這就是爲什麼工作使用jQuery – Ibu 2011-05-25 08:25:31

+0

檢查一次究竟你在使用鉻獲得的console.log,儘量使用appendChild來追加到「ID」 – 2011-05-25 08:33:45

+0

@lbu:我太習慣jquery來擺脫這個問題.. – balanv 2011-05-25 10:06:57

回答

4

這是一個已知的IE bug。您可以使用DOM方法追加/替換選項元素,或者您可以使用the workarounds suggested by Microsoft,其中之一是將您的選擇包裹在div中,並將div的innerHTML設置爲「<選擇> <選項> ...」

+0

+1有一段時間,我努力得到這個工作,感謝您的寶貴信息 – Ibu 2011-05-25 08:49:50

+0

謝謝你的信息...! – balanv 2011-05-25 10:06:23

+0

+1。是的,一個已知的IE錯誤。如果我有一分錢,每次我都必須與IE中的錯誤進行鬥爭...... – Spudley 2011-05-25 12:00:53

0

http://support.microsoft.com/kb/276228

這是IE中的一個已知問題。對不起浪費大家的時間,長話短說 options.innerHTML是越野車。圍繞微軟的建議是將標籤包裹在標籤中。然後你可以使用div.innerHTML來改變代碼。

<div id ="IEFix"> 
<select name="TOR" id="TOR"> 

</select> 
</div> 


var x ='<select name="TOR" id="TOR">\n';  
x +='<option value="MVR Only(FTE)">MVR Only(FTE)</option>\n'; 
    x += '</select>\n'; 
    IEFix.innerHTML = x;