Oświadczam zmienną, poza funkcją jak:

var vitalsValuesChecked = [];

Następnie wewnątrz funkcji robię:

vitalsValuesChecked.push('foobar');

W późniejszej funkcji muszę pętli przez tablicę do pchanych przedmiotów i stale nie otrzymuję wyniku, którego oczekuję. Więc w tej samej funkcji dodałem console.log(vitalsValuesChecked);, który zwraca [].

Edytuj Próbka kodu poniżej; Edytuj 2 Naprawiono kod poniżej

var vitalsValuesChecked = [];

$(document).delegate("#hv-byresult-btn", "click", function () {
    var vitalsTypeList = ['bp', 'ht', 'wt', 'pulse', 'resp', 'temp'];
    vitalsValuesChecked = [];
    for (var i = 0;i < vitalsTypeList.length;i++) {
        if (document.getElementById(vitalsTypeList[i]).checked == true) {
            vitalsValuesChecked.push(vitalsTypeList[i]);
            console.log(vitalsTypeList[i] + " is checked. Adding to global array");
        }
    }
    $('#vitals-measures-content').empty();
    navigate("#vitals-measures");
    for (var i = 0;i < vitalsValuesChecked.length;i++) {
        console.log("vitalsValuesChecked at index " + i + " is " + vitalsValuesChecked[i]);
     }
        readRec('clinicalObservation', null, sortVitalsByResult);

    });
function foobar() {
    console.log(vitalsValuesChecked); //return []
    for (var i=0;i < vitalsValuesChecked.length;i++) {
        var valueSelected = vitalsValuesChecked[i];
        console.log("Value of vitalsValuesChecked at index " + i + " is " + vitalsValuesChecked[i]);
    }
}
0
Colby R Meier 11 sierpień 2012, 01:12

1 odpowiedź

var vitalsValuesChecked = []; wewnątrz funkcji spowoduje zmienną lokalną. Nie sądzę, że chcesz tego, jeśli próbujesz nacisnąć do zmiennej globalnej.

1
Tim Goodman 10 sierpień 2012, 21:21