如何在jqPlot仪表中传递数据?

时间:2017-09-04 10:31:25

标签: jquery plugins jqplot

我' m使用此plugin

我的页面上有一个标尺:

s1 = [50000];

   plot4 = $.jqplot('chart4',[s1],{
     seriesDefaults: {
       renderer: $.jqplot.MeterGaugeRenderer,
       rendererOptions: {
           label: 'Metric Tons per Year',
           labelPosition: 'bottom',
           labelHeightAdjust: -5,
           intervalOuterRadius: 85,
           ticks: [10000, 30000, 50000, 70000],
           intervals:[22000, 55000, 70000],
           intervalColors:['#66cc66', '#E7E658', '#cc6666']
       }
     }
 });

我想要下一个场景:用户在输入中输入一个数字,按下提交,箭头在仪表上显示此值。所以,我做了一个输入,并在规范代码的正上方添加了这些代码:

$(".btn").click(function() {
  var data = $("#test").val();
  s1 = [data];
  console.log(s1);
  return s1;
});

控制台输出值,但如何使箭头显示此值?在文档中找不到任何方法。

1 个答案:

答案 0 :(得分:0)

您可以在按钮单击功能中使用以下行动态更新值:

 plot.series[0].data[0] = [1, newValue];

然后你需要调用replot()来重绘标尺:

plot.replot();

完整的点击功能是:

$(".btn").click(function() {
  var newValue = $("#test").val();
  plot.series[0].data[0] = [1, newValue];
  plot.replot();
  return s1;
});

This Fiddle显示了一个有效的演示。在文本框中键入一个值,然后单击"更改值"更新仪表。