2016-07-25 95 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 - 如果你檢查瀏覽器,你會看到它的使用警告。你應該刪除它。