使用jquery我试图从json文件读取值并填入下拉列表。
为此,我正在做以下事情
但undefined
值正在下拉列表中。
我的代码出了什么问题?
json文件
{
"VMs":[
{
"ID":"VM-WIN7-64",
"OS":"Windows 7",
"FLAVOUR":"VM-IE8-001-preq",
"ADAPTER":"Win 9"
}
],
"Paths":{
"VM-WIN7-64":"C:\\VirtualMachines\\Win7_X64_VM-001\\Win7_X64_VM-001.vmx"
}
}
码
function getOsNames() {
$.getJSON('/json/data.json', function(data)
{
var html = '';
$.each(data,function(val,i)
{
alert(val);
html += '<option value="' + val.OS + '">' + val.OS + '</option>';
});
$('#op').html(html);
});
}
答案 0 :(得分:2)
你必须循环遍历data.VMs
,因为它具有操作系统属性
function getOsNames() {
$.getJSON('/json/data.json', function (data) {
var html = '';
$.each(data.VMs, function (i, val) {
html += '<option value="' + val.OS + '">' + val.OS + '</option>';
});
$('#op').html(html);
});
}
演示:Fiddle
答案 1 :(得分:0)
您可以使用for循环:
for(var i=0;i<data.VMs.length;i++)
{
html += '<option value="' + data.VMs[i].OS + '">' + data[i].VMs[i].OS + '</option>';
}
$('#op').html(html);
这将解决您的问题