2014-07-10 39 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/

相关问题