填充选择节目'undefined'

gaf*_*ill 1 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));
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

这是数据:

{
    "cars":[{
        "id":"654",
        "type": "ford"
    },{
        "id":"650",
        "type": "fiat"
    }]
} 
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

Ror*_*san 9

你需要循环result.cars,而不是result:

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

工作实例

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