2016-07-25 72 views
1

我想从一些数据填充选择,但它一直给我未定义。实际的代码工作正常,我想它的格式是这个问题?填充选择显示'未定义'

下面的代码:

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

我该如何解决这个问题?

回答

9

您可以通过result.cars需要循环,不result

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

Working example

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