我想从存储在变量中的选项中创建一个选择框(值将根据用户而改变)。
目前,我只想在我的javascript文件中使用此变量:
var resp = {"streams": [ {"sweet":"cookies"}, {"savory":"pizza"}]}
在html文件中,我有一个select id" selectedStream"
如何调用html中的select id和javascript中的变量来创建选择框?
我已经看过如下所示的示例,但我不明白如何将ID和变量链接到框中。
$("option:selected", myVar).text()
我希望这是连贯的!感谢
答案 0 :(得分:3)
我认为你要做的是将选项html节点附加到屏幕上现有的select元素,其id为'selectedStream'。您希望使用'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));
}
});
答案 1 :(得分:0)
该阵列是否必要?如果你只是想在那个对象中显示键,我会创建一个 for loop :
var resp = { "streams": {"sweet": "cookies", "savory": "pizza"} }
for (property in resp.streams) {
$('#selectStream').append($('<option/>', {text: property, value: property}));
}
JSFiddle: http://jsfiddle.net/pWFNb/