在highcharts中选择了rangeSelector按钮

时间:2013-04-06 03:57:29

标签: highcharts highstock

我想知道如何确定在highstock中选择了哪个rangeSelector按钮。

我的rangeSelector按钮:

   buttons: [{
            type: 'month',
            count: 1,
            text: '1 MONTH',
        }, {
            type: 'month',
            count: 3,
            text: '3 MONTH'
        }, {
            type: 'month',
            count: 6,
            text: '6 MONTH'
        }, {
            type: 'ytd',
            text: 'YTD'
        }, {
            type: 'year',
            count: 1,
            text: '1 YEAR'
        }, {
            type: 'all',
            text: 'ALL'
        }],

例如,我点击我的第一个rangeSelector,即1个月。我想知道这个按钮是否被选中。

有没有活动?

由于

2 个答案:

答案 0 :(得分:6)

您可以捕获setExtremes()(http://api.highcharts.com/highstock#xAxis.events.setExtremes),然后在事件对象中,您可以访问具有count,text和type属性的event.range Selector Button对象。

 xAxis: {
        events: {
            setExtremes: function(e) {
                console.log(this);
                if(typeof(e.rangeSelectorButton)!== 'undefined')
                {
                  alert('count: '+e.rangeSelectorButton.count + 'text: ' +e.rangeSelectorButton.text + ' type:' + e.rangeSelectorButton.type);
                }
            }
        }
    },

http://jsfiddle.net/E6GHC/1/

答案 1 :(得分:-1)

您可以直接从rangeSelector获取有关所选按钮的大量信息。

例如:

var chart = $('#container').highcharts();

var selected = chart.rangeSelector.selected; // Index of selected button
var text = chart.rangeSelector.buttonOptions[selected].text; // Text of selected button
var type = chart.rangeSelector.buttonOptions[selected].type; // Type of selected button

使用所选索引在buttonOptions下的buttonsrangeSelector下的其他一些随机信息。

请参阅this JSFiddle demonstration以了解相关信息。