填充选择节目'undefined'

时间:2016-07-25 08:33:01

标签: javascript jquery

我正在尝试从一些数据填充选择,但它一直给我未定义。实际的代码工作得很好,我在想它的格式是什么问题?

以下是代码:

$.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"
    }]
} 

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:9)

您需要遍历result.cars,而不是result

$.each(result.cars, function(i, value) {
    $('#myselect').append($('<option>', {
        text: value.id,
        value: value.id
    }));
});

Working example

另请注意,使用async: false是非常糟糕的做法 - 如果您检查浏览器,您会看到有关其使用的警告。你应该删除它。