将值从db传递到jqplot

时间:2013-07-04 17:26:10

标签: database jqplot

Follwing是我的jsp页面的一部分,它绘制了

中提供的日期和值
  var line1 = [['2013-07-02 18:34:22',27], ['2013-07-02 18:34:52',32]]; 

使用日期轴渲染器,它按预期工作,现在这里的值是硬编码的;

<script type="text/javascript"> 
$(document).ready(function(){
  var line1 = [['2013-07-02 18:34:22',27], ['2013-07-02 18:34:52',32]]; 
  var plot3 = $.jqplot('chart', [line1], {
      title:'VITALS CHART-TEMPERATURE', 
      axesDefaults: {
            labelRenderer: $.jqplot.CanvasAxisLabelRenderer
          },
      axes:{
        xaxis:{
          renderer:$.jqplot.DateAxisRenderer,
          label:'TIME',
          tickOptions:{formatString:'%d/%m/%y\n%I:%M:%S %p'},
          tickInterval:'30 second'
        },

       yaxis:{
             label: 'TEMPERATURE'
           }

      },
      series:[{lineWidth:4,markerOptions:{style:'square'}}]
  });
});
</script>
<body>
<center> 
<div id="chart" style="height:500px; width:500px;"></div>
</center>
</body>
</html>

如何从数据库中的表中传递这些值?例如,假设我有一个日期|读取为两列的表。我试图格式化表格中的数据 格式与

相同
[['2013-07-02 18:34:22',27], ['2013-07-02 18:34:52',32]]

并将其作为隐藏文本字段的值传递,其id为data,然后将line1的值更改为

   var line1 = document.getElementByID("data");

但现在我看到情节消失了......从数据库获取这些值并绘制它们的最简单方法是什么......

1 个答案:

答案 0 :(得分:0)

在rails中我使用gon gem并在我的控制器中定义它,如下所示:

@testarray = []
Model.find_all.each do |ph|
  @testarray << [ph.created_at.to_formatted_s(:short), ph.value.to_f]
end
gon.array = @testarray 

Testarray使数组看起来像这样:

[["10 Dec 14:10", 61.0],["10 Dec 13:38", 0.0],["11 Dec 10:08", 0.0],["11 Dec 10:06", 0.0],["10 Dec 14:12", 91369.0],["11 Dec 11:45", 31004.0]]

现在在我的jsp上我刚刚更换了

var line1 = [['2013-07-02 18:34:22',27], ['2013-07-02 18:34:52',32]]; 

var line1=gon.array