我正在使用jquery从服务器调用Json对象。这是我的电话:
$.getJSON( url, function( data ) {...}
我从(console.log)返回以下对象:
> 0: Object
cable key: "1"
cable type: "Building Wire..."
> 1: Object
cable key: "2"
cable type: "PVC Wire..."
...
我试图像下面的例子一样访问密钥和值,但没有任何运气。
$.getJSON( url, function( data ) {
$.each( data, function( key, value ) {
$( "#CableType" ).append( $( "<option value='" + value['cable key'] + "'>" + value['cable type'] + "</option>" ) );
});
})
感谢您的帮助
答案 0 :(得分:1)
您正在尝试获取VALUE的属性而不是对象。使用
data['cable key']
而不是
value['cable key']
此外,在循环内向DOM添加元素效率低下。您需要在字符串中收集html,并在循环结束后将其放入DOM中。你可以这样做:
$.getJSON( url, function(data){
var htmlCollection = "",
propertyName;
data.forEach(function(pair){
htmlCollection += "<option value='" + pair['cable key'] + "'>" + pair['cable type'] + "</option>";
});
$( "#CableType" ).append(htmlCollection);
});