将变量从$内传递到全局范围。岗位

时间:2014-12-17 16:47:43

标签: javascript arrays dynamic global-variables

提前感谢任何帮助和阅读本文。

所以,我正在尝试利用$ .post响应中的服务器数据来操纵图形。但是,这给我带来了两个问题。

1 - 我已多次尝试将$ .post {}中创建的变量数组传递到全局范围,该变量数组利用从服务器返回的数据。但是,我必须遗漏一些东西并尝试无休止的谷歌搜索,但没有任何工作。有人能暗示这个问题吗? Aka:我想将list_1和list_2作为$ .post之外的全局变量访问,以便我可以使用它插入工具提示。如果我有包含必要信息的数组,那么我可以使用这些数据填充工具提示。这是代码的缩减版本。

function OnSelectDay(selected) {
    var list_1 = [];
    var list_2 = [];

    var Day = selected.split("/");
    // Format is DD/MM/YYYY
    // Day = Day[0]
    var TheDay = parseInt(Day[0]);
    var TheNextDay = parseInt(Day[0]) + 1;
    $.post("_viewdata.php", { selected: selected }, function (data) {

        for (var i in data.id) {
            var time = data.hora[i];
            time = time.split(":");
            time = parseInt(time);
            var temp = data.dia[i].split("-");
            if (temp[2] == TheDay && time > 20) {
                var num = data.codigo[i].split(".")
                var num2 = parseInt(num[1]);
                if (num2 === 1) { list_1.push(data.hora[i]) };
                if (num2 === 2) { list_2.push(data.hora[i]) };
            }
        };
    }, "json");
    alert(list_1);
}

问题2:

我实际上创建了大约20个数组,并且每个数组都会在创建逻辑参数时推送该值。我是这样做的:(也见上文):

  

if(num2 === 1){list_1.push(data.hora [i])};     if(num2 === 2){list_2.push(data.hora [i])};

当我尝试使用以下方法动态创建它时:

  

if(num2 = num [1]){      var TheList =" list _" + num [1];      TheList.push(data.hora [I])   }

我收到一条错误消息,指出TheList没有功能。任何想法为什么我不能将这个动态生成的名称推入适当的列表?如果我替换" TheList"与" list_1"然后它工作正常。我仍然有问题,但是在$ .post内。它只会在其中提醒数据,并在$ .post {}之外空白。

全心全意,

0 个答案:

没有答案