Wypisanie elementów z listy - zawsze dostaję wartość ostatniego elementu

0

Poniższy kod zapisuję mi do listy elementy pobrane z bazy danych.

natomiast gdy próbuje wypisać elementy powiedzmy pierwszy, środkowy czy ostanii to zawszę dostaje wartosc ostatniego elementu w tablicy.
Ma ktoś jakiś pomysł jak wypisać wszystkie elementy z tablicy (id oraz nazwaZestawu).

function pobierzObiady() {
    var obiad = {};
    var listaObiadow = [];
    $.post('listaobiadow.php', null, function(data) {
        if(data.isValid) {
            var liczbaElementow = data.liczbaElementow;
            for(i = 0; i < liczbaElementow;  ++i) {
               obiad.id = data['obj' + i].firstValue;
               obiad.nazwaZestawu = data['obj' + i].secondValue;
               listaObiadow.push(obiad);
            }
        }
        else {
            alert('Nie udało sie zaczytać obiadów.<BR/> \n Proszę sko ntaktować się z administratorem');
        }
    });
    alert('obiadobiad ' + listaObiadow[10].nazwaZestawu);
    return listaObiadow;
}

dodanie znacznika <code class="javascript"> - @furious programming

0
function pobierzObiady() {
    var obiad = {};
    var listaObiadow = [];
    $.post('listaobiadow.php', null, function(data) {
        if(data.isValid) {
            var liczbaElementow = data.liczbaElementow;
            for(i = 0; i < liczbaElementow;  ++i) {
               obiad.id = data['obj' + i].firstValue;
               obiad.nazwaZestawu = data['obj' + i].secondValue;
               listaObiadow.push(obiad);
            }
        }
        else {
            alert('Nie udało sie zaczytać obiadów.<BR/> \n Proszę sko ntaktować się z administratorem');
        }
       alert('obiadobiad ' + listaObiadow[10].nazwaZestawu);
    });
   
    return listaObiadow;
}

Pamiętaj że metoda POST jest asynchroniczna. Więc alert musi być wykonany w ramach akcji On Complete.
Pomogło ?

dodanie znacznika <code class="javascript"> - @furious programming

1 użytkowników online, w tym zalogowanych: 0, gości: 1