2017-12-21 37 views
0

ハイチャートの積み上げ縦棒グラフで作業しています。私は凡例をクリックする度に、そのシリーズのdataLabelsを表示/非表示にする必要がありますが、シリーズ/スタックを隠すべきではないという要件があります。ですから、私はdataLabelsを非表示/表示したいだけです。凡例のデータラベルの表示/非表示

私はこれを試してみましたが、これを使用することによって隠れて停止するようになったシリーズ:

events: { 
    legendItemClick: function() { 
     return false; // <== returning false will cancel the default action 
    } 
} 

をしかし、私は伝説のクリックでdataLabelsを表示することができないのです。

ここにはFiddle Linkです。

+0

リターンはあなたのフィドル –

+0

で正常に動作しますか?あなたは同じ質問を編集することができます –

+0

@NitinDhomseチャートは同じですが、両方とも異なる要求を持っています –

答えて

1
legendItemClick: function (x) { 
        x.preventDefault() 
        var opt = x.target.chart.options.plotOptions.series; 
    opt.dataLabels.enabled = !opt.dataLabels.enabled; 
    x.target.chart.series[x.target.index].update(opt); 
        //x.target.chart.options.plotOptions.series.dataLabels.enabled=false 
        // <== returning false will cancel the default action 
        } 
+0

これが欲しいかどうかを確認してください –

+0

ありがとうございます@undefined_variable –

0

ありがとうございます。答えは@undefined_variableです。

thisを使用してもう1つの方法を見つけました。あなたは再び同じ質問をなぜ真

legendItemClick: function() { 
    var enabled = !this.options.dataLabels.enabled; 
    this.update({ 
     dataLabels:{ 
      enabled: enabled 
     } 
    }); 
    return false; 
} 

Fiddle