2017-09-01 12 views
0

1回のクリックでカテゴリ内のすべてのポイントを選択したいと思います。 たとえば、私は2つのシリーズを持っています、そして、あなたがインデックスの3つのシリーズの1つのポイントの1つをクリックすると、第2シリーズのポイントも選択されるべきです。これは私のソリューションです:ハイチャートポイント選択トラブル

var selecting = false; 
var chart = Highcharts.chart('container', { 
     chart : { 
     type:'column' 
    }, 
    plotOptions: { 
     series: { 
      allowPointSelect : true, 
      point: { 
      events: { 
       select: function (e) { 
        if (selecting) return; 
        selecting = true; 
        for (var i = 0; i < chart.series.length; i ++) { 
         chart.series[i].points[e.target.index].select(true,true); 
        } 
        selecting = false; 
       }, 
      } 
      } 
     } 
    }, 
    series: [{ 
     data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 
    },{ 
     data: [129.9, 21.5, 126.4, 29.2, 44.0, 76.0, 235.6, 48.5, 116.4, 94.1, 25.6, 154.4] 
    }] 
}); 

http://jsfiddle.net/sfq7y8m9/1/ 私はコントロールボタンを保つ場合にのみ、それは動作します。

[コントロール]ボタンを押したままで同じ解決方法を得る方法。マウスクリックでのみ?

多くのお返事に感謝します。

答えて

0

point.events.select原因Maximum call stack size exceededエラー(無限ループ)内部Point.select()関数を呼び出すので、あなたはPoint.setState()機能を使用して、手動selectedプロパティを設定することができます。下記の例を見てください。

APIリファレンス:
http://api.highcharts.com/highcharts/Point.select

例:
http://jsfiddle.net/vk25qLy5/

+0

ありがとう! =) 私はちょうどe.preventDefaultを忘れています Unfortunatelly、私はあなたの答えのための投票のために十分な運命がありません( –

関連する問題