2014-07-10 76 views
3

我想從存儲在變量中的選項創建選擇框(值將根據用戶而改變)。從存儲在變量中的選項中創建選擇框

現在,我只是想獲得它在我的JavaScript文件與此變量的工作:

var resp = {"streams": [ {"sweet":"cookies"}, {"savory":"pizza"}]} 

在HTML文件中,我有一個選擇ID「selectedStream」

如何我是否調用,從HTML的選擇ID和JavaScript的變量來創建選擇框?

我見過如下例子,但我不明白如何將id和變量鏈接到框。

$("option:selected", myVar).text() 

我希望這是連貫的!謝謝

+1

你想要什麼你的選擇是?這與你的對象有點不明確。 –

回答

3

我想你要做的是將選項html節點附加到屏幕上的一個現有選擇元素與'selectedStream'的ID。您想要使用'resp'變量中的數據填充您正在追加的選項節點的文本和值。如果這是正確的,我已通過this jsfiddle實現了該功能。 javascript也在下面:

$(function(){ 
    var resp = {"streams": [ {"sweet":"cookies", "savory":"pizza"}]}; 
    var streamData = resp.streams[0]; 
    var optionTemplate = "<option value=\"{0}\">{1}</option>"; 
    for(var key in streamData){ 
     var value = streamData[key]; 
     var currentOptionTemplate = optionTemplate; 
     currentOptionTemplate = currentOptionTemplate.replace("{0}", key); 
     currentOptionTemplate = currentOptionTemplate.replace("{1}", value); 
     $("#selectedStream").append($(currentOptionTemplate)); 
    } 
}); 
0

該數組是否必要?如果你只是想顯示該對象中的按鍵我想創建一個for循環

var resp = { "streams": {"sweet": "cookies", "savory": "pizza"} } 

for (property in resp.streams) { 
    $('#selectStream').append($('<option/>', {text: property, value: property})); 
} 

的jsfiddle:http://jsfiddle.net/pWFNb/

相關問題