我正在尝试从一些数据填充选择,但它一直给我未定义。实际的代码工作得很好,我在想它的格式是什么问题?
以下是代码:
$.ajax({
url: 'myurlhere',
method: 'GET',
async: false,
success: function(result) {
$.each(result, function(result, value) {
$('#myselect').append($('<option>').text(value.id).attr('value', value.id));
});
}
});
这是数据:
{
"cars":[{
"id":"654",
"type": "ford"
},{
"id":"650",
"type": "fiat"
}]
}
我该如何解决这个问题?
答案 0 :(得分:9)
您需要遍历result.cars
,而不是result
:
$.each(result.cars, function(i, value) {
$('#myselect').append($('<option>', {
text: value.id,
value: value.id
}));
});
另请注意,使用async: false
是非常糟糕的做法 - 如果您检查浏览器,您会看到有关其使用的警告。你应该删除它。