将数组传递给setData()函数时出现问题

喀布尔语

我正在尝试创建一个饼图,可以在其中使用按钮从两个数据系列中进行切换。

当我将值直接传递给setData()按钮onclick事件上函数时,一切工作正常参见jsfiddle(工作)。

但是,如果我将数据保存在数组中,则当我使用setData()时,该函数将用第二个覆盖第一个数组。参见jsfiddle(不起作用)。

综上所述,当我直接使用数据时,它可以工作:

// the button action
    $('#button').click(function () {
        var chart = $('#container').highcharts();
        bool_pie = !bool_pie;
        if(!bool_pie){
            chart.series[0].setData([129.2, 144.0, 176.0]);
        }else{
            chart.series[0].setData([29.9, 71.5, 106.4]); 
        }
    });

但是当我使用变量时,数组data1会被数组覆盖data2

    var data1 = [29.9, 71.5, 106.4];
    var data2 = [129.2, 144.0, 176.0];
// the button action
    $('#button').click(function () {
        var chart = $('#container').highcharts();
        bool_pie = !bool_pie;
        if(!bool_pie){
            chart.series[0].setData(data2);
        }else{
            chart.series[0].setData(data1); 
        }
    });

因此,我已经确定了问题,但是我不知道该如何解决。

紫杉属

我发现了你的问题。当传递data1到highcharts初始化时,您传递的是对该引用的引用data1,该引用将通过highcharts转换为对象数组。您必须传递该数组的副本才能具有data1data2作为数组:

$(function () {
    var data1 = [29.9, 71.5, 106.4];
    var data2 = [129.2, 144.0, 176.0];
    var bool_pie = true;
    $('#container').highcharts({
        chart: {
            type: 'pie'
        },
        series: [{
            data: data1.slice(0, data1.length)
        }]
    });

    // the button action
    $('#button').click(function () {
        var chart = $('#container').highcharts();
        bool_pie = !bool_pie;
        var data = (!bool_pie) ? data2 : data1;
        chart.series[0].setData(data); //PASSING ARRAY VARIABLE
    });
});

我修改了以下行: data: data1.slice(0, data1.length)

http://jsfiddle.net/8rjg30pc/4/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字节数组传递给JNI函数时出现问题

来自分类Dev

将指针传递给函数并返回意外地址时出现问题

来自分类Dev

将方法传递给新线程时出现问题

来自分类Dev

将数组传递给函数时出现分段错误

来自分类Dev

将 ctypes 数组传递给 C 函数时出现 ArgumentError

来自分类Dev

将数组传递给函数时遇到问题

来自分类Dev

将一个命令的输出传递给其他命令时出现问题

来自分类Dev

C#-将参数传递给线程时出现问题

来自分类Dev

将Loop值传递给Ansible调试消息时出现问题

来自分类Dev

将Python字符串传递给SQL查询时出现问题

来自分类Dev

将php变量作为参数传递给mysql查询时出现问题

来自分类Dev

使用PInvoke将句柄传递给托管对象时出现问题

来自分类Dev

Perl Win32 :: API-在与DLL函数之间来回传递数组时出现问题

来自分类Dev

类型错误:“列表”对象不可调用,将生成的数组传递给第二次迭代时出现问题

来自分类Dev

通过函数将JavaScript对象添加到数组时出现问题

来自分类Dev

将参数从android传递到php时出现问题

来自分类Dev

将一个命令的输出传递给另一个命令时出现问题

来自分类Dev

将向量传递给C ++中的函数时出现类型问题

来自分类Dev

将整数推入数组时出现问题

来自分类Dev

将数组传递给应填充它的函数时出现错误 13

来自分类Dev

传递参数时出现问题

来自分类Dev

将变量传递给函数时出现500错误

来自分类Dev

将struct传递给函数时出现意外结果

来自分类Dev

将指针传递给函数时出现分段错误

来自分类Dev

传递给另一个if语句时,全局变量出现问题

来自分类Dev

检索传递给 SQL Server 中存储过程的 XML 数据时出现问题

来自分类Dev

将结构传递给接受void *参数的函数时的问题

来自分类Dev

将数组传递给函数

来自分类Dev

将数组传递给函数

Related 相关文章

  1. 1

    将字节数组传递给JNI函数时出现问题

  2. 2

    将指针传递给函数并返回意外地址时出现问题

  3. 3

    将方法传递给新线程时出现问题

  4. 4

    将数组传递给函数时出现分段错误

  5. 5

    将 ctypes 数组传递给 C 函数时出现 ArgumentError

  6. 6

    将数组传递给函数时遇到问题

  7. 7

    将一个命令的输出传递给其他命令时出现问题

  8. 8

    C#-将参数传递给线程时出现问题

  9. 9

    将Loop值传递给Ansible调试消息时出现问题

  10. 10

    将Python字符串传递给SQL查询时出现问题

  11. 11

    将php变量作为参数传递给mysql查询时出现问题

  12. 12

    使用PInvoke将句柄传递给托管对象时出现问题

  13. 13

    Perl Win32 :: API-在与DLL函数之间来回传递数组时出现问题

  14. 14

    类型错误:“列表”对象不可调用,将生成的数组传递给第二次迭代时出现问题

  15. 15

    通过函数将JavaScript对象添加到数组时出现问题

  16. 16

    将参数从android传递到php时出现问题

  17. 17

    将一个命令的输出传递给另一个命令时出现问题

  18. 18

    将向量传递给C ++中的函数时出现类型问题

  19. 19

    将整数推入数组时出现问题

  20. 20

    将数组传递给应填充它的函数时出现错误 13

  21. 21

    传递参数时出现问题

  22. 22

    将变量传递给函数时出现500错误

  23. 23

    将struct传递给函数时出现意外结果

  24. 24

    将指针传递给函数时出现分段错误

  25. 25

    传递给另一个if语句时,全局变量出现问题

  26. 26

    检索传递给 SQL Server 中存储过程的 XML 数据时出现问题

  27. 27

    将结构传递给接受void *参数的函数时的问题

  28. 28

    将数组传递给函数

  29. 29

    将数组传递给函数

热门标签

归档