2017-12-18 294 views
0

我尝试使用高图来构建图表。我有一个单选按钮来选择数据。Highchartjs基于点击更改

那么,如何在单选按钮上单击更改高图表上的数据。

例如:

我的单选按钮

  • 标签数据-1
  • 标签数据-2
  • 标签数据-3-
  • 标签数据-4-

[编辑] and my highchart

when select label-data-1

when select label-data-2

when select label-data-3

when select label-data-4 等。

所以当我选择的标签数据-1,highchart点变化到3月11日,当我选择无标记data-2,highchart指向3月12日,当我选择label-data-3,highchart指向13 marc等。

+0

您可以使用多个图表切换隐藏并动态显示或绑定图表。 –

+0

但我想设置选定的光标在高图上基于单选按钮。请参阅已编辑的问题以获取详细信息 – teguh11

回答

0

假设您的单选按钮的通用类别为str_rad并且名称为radbutton,则可以绑定单选按钮上的单击事件。

JQuery的:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 

HTML:

label-data-1<input type="radio" class="str_rad" name="radbutton" value="label-data-1"><br/> 
label-data-2<input type="radio" class="str_rad" name="radbutton" value="label-data-2"><br/> 
label-data-3<input type="radio" class="str_rad" name="radbutton" value="label-data-3"><br/> 
label-data-4<input type="radio" class="str_rad" name="radbutton" value="label-data-4"><br/> 

的JavaScript:

$('.str_rad').click(function() { 
     var chart = $('#container').highcharts(); 
     //#container is your chart container div 
     //For Remove Chart Updated style. 
     chart.series[0].data[0].update({ 
      marker:{ 
       fillColor: '#7cb6ee',radius: 4,symbol: '' 
        } 
      }); 
      chart.series[0].data[1].update({ 
      marker:{ 
       fillColor: '#7cb6ee',radius: 4,symbol: '' 
        } 
      }); 
      chart.series[0].data[2].update({ 
      marker:{ 
       fillColor: '#7cb6ee',radius: 4,symbol: '' 
        } 
      }); 
      chart.series[0].data[3].update({ 
      marker:{ 
       fillColor: '#7cb6ee',radius: 4,symbol: '' 
        } 
      }); 
     //For Chart Updated style . 
     if($(this).val() == "label-data-1") 
     { 
      chart.series[0].data[0].update({ 
      marker:{ 
       fillColor: 'red', 
       radius: 8,symbol: 'url(https://www.highcharts.com/samples/graphics/sun.png)' 
       // There you can use any of the following radius or symbol for your chart as per your need. 
        } 
      }); 
     } 
     else if($(this).val() == "label-data-2") 
     { 
      chart.series[0].data[1].update({ 
      marker:{ 
       fillColor: 'red', 
       radius: 8,symbol:'url(https://www.highcharts.com/samples/graphics/sun.png)' 
        } 
      }); 
     } 
     else if($(this).val() == "label-data-3") 
     { 
      chart.series[0].data[2].update({ 
      marker:{ 
       fillColor: 'red', 
       radius: 8, 
       symbol: 'url(https://www.highcharts.com/samples/graphics/sun.png)' 
        } 
      }); 
     } 
     else if($(this).val() == "label-data-4") 
     { 
      chart.series[0].data[3].update({ 
      marker:{ 
       fillColor: 'red', 
       radius:8, 
       symbol: 
       'url(https://www.highcharts.com/samples/graphics/sun.png)' 
        } 
      }); 
     } 

}); 

JSFiddle

+0

谢谢,我会尝试。并在成功时更新。 – teguh11

+0

对不起,但我在控制台中得到了这个错误。 Uncaught TypeError:$(...)。highcharts不是函数 – teguh11

+0

确保jQuery在highchart.js之前导入。 –