for(i=0;i<lianshe_data_length1-lbank_best_data_length1;i++){

options.series[1].data[i] = 0;
column.series[0].data[i] = 0;

}
var j=0;for(;i<lianshe_data_length1;i++){

options.series[1].data[i] = array_bank_1[j];
column.series[0].data[i] = array_bank_2[j];
j++;

}

运行时总是显示“array_bank_1 is undefined”
array_bank_1是前面保存好的数组,向大家请教下是什么原因

解决方案 »

  1.   

    你这段程序和array_bank_1不在同一上下文中。
    可能是不同的function调用,你值没传过来。
      

  2.   

    把array_bank_1的定义提到全局试试
      

  3.   

    是不是又重新定义局部变量var array_bank_1;把全局的值给屏蔽了
      

  4.   


    var array_bank_1,array_bank_2;function A(data){array_bank_1 = new Array();
    array_bank_2 = new Array();lbank_best_data_length1 = data.length;

    for(i=0;i<data.length;i++){
    array_bank_1[i] = data[i].avg;
    array_bank_2[i] = data[i].number;}
    }上面是dwr回调函数
      

  5.   

    我一开始是这样写的没有问题 for(i=0;i<lbank_best_data_length1;i++){

            options.series[1].data[i] = array_bank_1[i];
    column.series[0].data[i] = array_bank_2[i];


    }
    array_bank_1[i]的值对应的就是lbank_best_data_length1的长度,后来因为lbank_best_data_length1的长度比较短,要把array_bank_1[i]的值显示到lianshe_data_length1这个长度里去;
    比如lbank_best_data_length1的长度是3,lianshe_data_length1的长度是5,array_bank_1[i]对应的是lbank_best_data_length1,所以里有3个值,但是要把这三个值赋给lianshe_data_length1,前两个值就要固定设为0,后三个值再依次显示,改过后就有问题了
      

  6.   


    var array_bank_1,array_bank_2;
     
    function A(data){
     
    array_bank_1 = new Array();
    array_bank_2 = new Array();
     
    lbank_best_data_length1 = data.length;
                     
    for(i=0;i<data.length;i++){
        array_bank_1[i] = data[i].avg;
        array_bank_2[i] = data[i].number;
     
    }
    DrawChart();
    }
    function DrawChart(){
    for(i=0;i<lianshe_data_length1-lbank_best_data_length1;i++){
                     
        options.series[1].data[i] = 0;
        column.series[0].data[i] = 0;
                         
    }
    var j=0;
     
    for(;i<lianshe_data_length1;i++){
                     
        options.series[1].data[i] = array_bank_1[j];
        column.series[0].data[i] = array_bank_2[j];
        j++;
                 
    }
    delete chart;
    chart = new Highcharts.Chart(options);
    chart = new Highcharts.Chart(column);
    }   
      

  7.   


    再加也没什么了,就是触发A回调函数了,主要功能都在上面了function click_boutton(){
    t.getdataByTime("",A);
    }
      

  8.   

    你最好能给出一张能测试的html页的全部代码