jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 无法删除highcharts中的所有“系列”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我不确定我的代码是怎么回事,但是在我深入研究之后我无删除highcharts中的所有系列.当我调用resetChart函数时,它只删除4个系列中的2个,我设置了一个临时警报,告诉显示它的删除内容,它只警告2个系列.

但是,当我删除行chart.series [i] .remove();所有4个警报都有效.
我已经尝试了一些循环数组的方法,甚至把它反过来但它没有任何区别.

如果你将下面的代码复制到jsfiddle,你会看到我的意思

HTML

<div id="container" style="height: 400px; min-width: 600px"></div>
<script type="text/javascript" src="http://www.highcharts.com/js/tesTing-stock.js"></script>
<script type="text/javascript" src="http://www.highcharts.com/samples/data/usdeur.js"></script>

JQuery的

$(function() {
var chart;

var colors = Highcharts.getOptions().colors,categories = ['October','November'],name = 'Monthly',data = [{
        y: 22,drilldown:[{
            name: 'Income',data: [12,0],categories: ['Income','Expenses']
        },{
            name: 'Expenses',data: [0,5]
        },{
            name: 'employee',3]
        },{
            name: 'Tax Office',1]
        }]
    },{
        y: 21
    }];
function setChart(drilldown) {
    $.each(chart.series,function(i,val) {
        val.remove();
    });
    if(drilldown) {
        chart.xAxis[0].setCategories(drilldown[0].categories);
        $.each(drilldown,val) {
            chart.addSeries({
                 name: val.name,data: val.data
            },falsE);
        });
    }

    chart.redraw();
}
function resetChart() {
    //chart.toolbar.remove('RESET');
    $.each(chart.series.reverse(),function(i) {
        alert('removing :' + chart.series[i].Name);

        // IF I REMOVE THE BELOW LINE,ALL ALERTS DISPLAY CORRECTLY
        chart.series[i].remove();
    });

     chart.xAxis[0].setCategories(categories);
     chart.addSeries({
          name: name,data: data
     });
     chart.redraw();
}

chart = new Highcharts.Chart({
    chart: {
        spacingLeft: 5,spacingRight: 5,spacingBottom: 5,renderTo: 'container',type: 'column'
    },title: false,xAxis: {
        categories: categories
    },yAxis: {
        title: false,labels: {
            formatter: function() {
                str = '$' + this.value + '';
                return str.replace('$-','-$');
            }
        },},legend: {
        enabled: false
    },plotOptions: {
        column: {
            cursor: 'pointer',stacking: 'normal',point: {
                events: {
                    click: function () {
                        var drilldown = this.drilldown;
                        if (drilldown) { // drill down;
                            setChart(drilldown);
                        }
                    }
                }
            }
        }
    },tooltip: {
        formatter: function() {
           var point = this.point,s = '<b>$' + this.y +'</b>';
              s = s.replace('$-','-$');
           if (point.drilldown) {
              s += ': Click to view '+ point.category +'';
           }
           return s;
         }
    },series: [{
        name: name,data: data
    }]
});
chart.toolbar.add('RESET','Reset','chartReset',resetChart);
});

解决方法

固定

而不是使用我使用的每一个.
当系列被删除时,它将其从阵列中移除,因此阵列变得越来越小

每次调用remove().

替换了每个实例(在setChart和resetChart中):

$.each(chart.series.reverse(),function(i) {
    chart.series[i].remove();
});

附:

while(chart.series.length > 0)
 chart.series[0].remove();

大佬总结

以上是大佬教程为你收集整理的jquery – 无法删除highcharts中的所有“系列”全部内容,希望文章能够帮你解决jquery – 无法删除highcharts中的所有“系列”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。