2010-11-08 94 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);