2016-07-25 8 views
1

Я пытаюсь заполнить выбор из некоторых данных, но он продолжает давать мне неопределенные. Фактический код работает отлично, я думаю, что его формат является проблемой?Population select показывает 'undefined'

Вот код:

$.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 - если вы проверяете браузер вы увидите предупреждения о его использовании , Вы должны удалить его.

Смежные вопросы