2010-11-08 42 views
0

我有一个叫做onchange的下拉菜单的js函数。 它适用于FF,IE6和7以及Safari。 然而,在IE8中,该函数在下面一行中断。Javascript在IE8中给出错误

document.getElementById("shipModeId_1").options[document.getElementById("shipModeId_1").options.length] 
    = Option(ship_modeId,selcted); 

它说对象不支持这个属性或方法。 任何想法为什么发生这种情况?

感谢,

Sarego

+2

请添加一些周边的代码。什么是'ship_modeId','selcted'和'Option'? – ChaosPandion 2010-11-08 18:46:35

回答

2

你错过了new操作。此外,您可能还想传入textvalue参数的相同值,接着是selectedOption构造函数的双参数形式需要textvalue,而不是selected

new Option(ship_modeId, ship_modeId, selected) 
+0

非常感谢...添加新解决了它 – sarego 2010-11-08 23:00:57

0

如果这是一个<select>,我不认为你需要的 “选项”。

document.getElementById("shipModeId_1")[document.getElementById("shipModeId_1").length] = new Option(ship_modeId,selcted); 

您在生成新选项时也错过了“新建”。

0

使用此,

var drpDown = document.getElementById("shipModeId_1"); 
drpDown.options[drpDown.options.length] = new Option(ship_modeId,selcted);