2011-05-25 40 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;