提前感谢任何帮助和阅读本文。
所以,我正在尝试利用$ .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 {}之外空白。
全心全意,