2012-12-03 80 views
0

好的,我知道如何做到這一點 - 理論上。我在一個網頁中有一個下拉列表,我想用javascript動態編輯。我的下拉列表中已創建的空,用下面的HTML:用Javascript動態編輯下拉列表 - 不工作

<select id="my_dropdown"> 
</select> 

,然後這段JavaScript代碼(head部分運行)應該有一個選項填寫了:

my_drop = document.getElementById("my_dropdown"); 
my_drop.options[0] = new Option("Name", "value"); 

我認爲我正在做所有的事情,但在這一點上,即使剝離了這些東西,這些代碼仍然無法使用,無論是使用Chromium還是Firefox。我不知道接下來要嘗試什麼。建議?

回答

1

如果您是在處理任何onload處理程序的頭部,那麼DOM尚未準備好。

要麼將​​您的javascript移動到HTML中的元素之後,要麼將其包含在onload函數中。

如/

<body onload="doMyStuff()"> 

,並在頭

function doMyStuff(){ 
    // code here to add item to dropdown 
} 
+0

非常感謝您!有用。有趣的是,我只是在測試,但在最終版本中,編輯功能將被綁定到另一個事件,這些事件在身體加載後將發生(因爲它取決於用戶輸入)。換句話說,如果我立即嘗試,問題甚至不會存在... – Okarin

0

沒有什麼是你的代碼錯誤......我覺得你的DOM還沒有準備好那麼試試這個...

對您的HTML標記

<body onload="myFunction()"> 

並添加到您的腳本

function myFunction(){ 
    my_drop = document.getElementById("my_dropdown"); 
    my_drop.options[0] = new Option("Name", "value"); 
} 
+0

如上所述。已經解決了。不管怎麼說,還是要謝謝你! – Okarin