2014-09-12 106 views
0

現在,我嘗試使用JavaScript來動態地添加一些<select>元素添加到HTML頁面「選擇」以HTML選項;具體來說,<select>元素將讓人們選擇時間。我大部分的方式:動態添加通過DOM

var newDiv = document.createElement("div"); 

    var hrSelect = document.createElement("select"); 
    hrSelect.name = "div_hr"; 

    for (i = 0; i < 24; i++) { 
    var hrOption = document.createElement("option"); 
    var hrStr = String(i); 
    if (i < 10) { 
     hrStr = "0" + hrStr; 
    } 
    hrOption.value = hrStr; 
    hrOption.appendChild(document.createTextNode(hrStr)); 
    hrSelect.appendChild(hrOption); 
    } 

    newDiv.appendChild(hrSelect); 

這本身工作正常。所以這裏是這樣的:我想做出這些選項selected之一,並默認顯示,我不知道如何做到這一點。例如:

if (i == 12) { 
     hrOption.selected = true; 
    } 

但這不適用於我。我無法找到如何做這項工作; Google搜索沒有提供任何有用的選項。任何人都可以引導我回答問題嗎? (。對於那些你好奇,我想使selected選項默認爲當前時間,我已經知道如何通過PHP獲取時間和echo它變成我的JavaScript)

編輯:因爲它事實證明,我的預期解決方案是正確的。我不確定爲什麼當我測試它時它不適用於我。投票結束。

+1

也就是說,實際上,你怎麼做:設置 「中選擇」 屬性'TRUE'。 – Pointy 2014-09-12 22:04:05

+0

您也可以將'hrSelect.selectedIndex'設置爲您想要選擇的選項的索引。 – Barmar 2014-09-12 22:04:36

+0

@Pointy我發誓它沒有工作,當我第一次嘗試它。由於某種原因,它現在可以工作,所以我想這要注意:|謝謝! – TheSoundDefense 2014-09-12 22:05:28

回答

2

使用selectedIndex屬性:

hrSelect.selectedIndex = 12; 
+0

這將工作,但[所以將在OP代碼(http://jsfiddle.net/dc6q82vm/)。 – Pointy 2014-09-12 22:06:16

+2

是的。但是這是一個聲明,每次循環都必須執行。所以這看起來好一點。 – Barmar 2014-09-12 22:06:54