使用来自json文件的jquery读取值

时间:2014-02-18 06:00:00

标签: jquery

使用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);     

    });

}

2 个答案:

答案 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);  

这将解决您的问题