2016-07-25 10 views
1

Ich versuche eine Auswahl aus einigen Daten zu füllen, aber es gibt mir undefined. Der eigentliche Code funktioniert gut, ich denke, es ist das Format, das das Problem ist?Populating wählen zeigt 'undefined'

Hier ist der Code:

$.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)); 
     }); 
    } 
}); 

Hier die Daten:

{ 
    "cars":[{ 
     "id":"654", 
     "type": "ford" 
    },{ 
     "id":"650", 
     "type": "fiat" 
    }] 
} 

Wie kann ich dieses Problem beheben?

Antwort

9

Sie müssen Schleife durch result.cars, nicht result:

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

Working example

Beachten Sie auch, dass es unglaublich schlechte Praxis ist async: false zu verwenden - wenn Sie den Browser überprüfen Sie Warnungen über seine Verwendung finden können . Sie sollten es entfernen.

Verwandte Themen