在highcharts上有一些酒吧而不是url链接

时间:2012-05-18 03:45:55

标签: php javascript highcharts

我有一个像这样的高图: fiddle demo chart 它是在PHP上的服务器上用数据生成的,但如果数据的数量为零,我不希望它有一个URL(因为没有什么可看的)。

如何告诉图表仅禁用这些栏上的链接?

if($value['category'] > 0){
        $chartActive .= $comma."{y:".$value['category'].", url: '/section/of/site/index.php'}";
    }else{
        $chartActive .= $comma."{y:0, url: javascript:void(0)}";
    }

然后将这样添加到图表中:

plotOptions: {
            column: {
                stacking: 'normal',
                dataLabels: {
                    enabled: true,
                    color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || '#333'
                }
            },
            series: {
                cursor: 'pointer',
                point: {
                    events: {
                        click: function() {
                            location.href = this.options.url;
                        }
                    }
                }
            }
        },
        series: [{
            name: 'Active',
            data: [<?php echo $chartActive; ?>]
        },

正如您所看到的那样,url是在plotOptions的系列部分中定义的,因此它始终存在,如果我按照现在的方式进行,链接可以正常工作,但请访问mysite.com/undefined

任何建议都将受到赞赏。

标记

1 个答案:

答案 0 :(得分:1)

您可以在设置网址之前测试点是否在点击事件中有值。但是,任何空点仍然会有指针光标,我还没有找到解决方法。


series: {
    cursor: 'pointer',
    point: {
        events: {
            click: function() {
// if you've more than one series then you'll have to sum up the value for the stack
                if (this.y != 0) {  
                    location.href = this.options.url;
                }
            }
        }
    }
}