2014-04-08 63 views
0
var namelist = editnamebox.children.value; 
for (var f = 0; f < namelist.length; f += 1) { 
      slotname.innerHTML = '<optgroup><option>' + namelist[f] + '</option></optgroup>'; 
} 

editnamebox是div含有inputs avariable數我想與每個editnamebox輸入作爲一個選項的值以產生一個。輸入值的變量量轉換成選擇

上面的代碼沒有工作,我也試過namelist[f].value,而不是在namelist var也沒有運行。這裏有什麼問題?

整頁:http://powerpoint.azurewebsites.net/ 設置時間段。 「未定義」應該是上面的空文本字段的內容

+2

你可以發佈你的'div'樣本有幾個輸入嗎?什麼是'slotname'? –

+0

'namelist'中的值是什麼?我懷疑它是一個字符串,在這種情況下,你需要將'.split()'成一個數組。其次,在循環的每次迭代中,您都覆蓋'slotname'的'.innerHTML'。您需要創建元素並將它們「.append」到父級。 –

+0

添加了一個鏈接到我的頁面。名單是的 – cmplieger

回答

1

您應該使用循環構建字符串,然後更新innerHTML。 (假設其他部分沒有看到你的標記是正確的)

var namelist = editnamebox.children, 
    slotnameHtml = ''; 

//build html string 
for (var f = 0; f < namelist.length; f += 1) { 
    slotnameHtml += '<optgroup><option>' 
         + namelist[f].value 
         + '</option></optgroup>'; 
} 

slotname.innerHTML = slotnameHtml; //update html 
+0

+1的列表,用於注意缺失的「+」符號。一般來說,這些小東西都沒有確定。 –

+0

似乎比以前做得更多,我現在有選擇。但是它們是「未定義的」。我更新了代碼:http://powerpoint.azurewebsites.net/(設置演示者姓名,然後選擇時間段) – cmplieger