JS、jQuery、JSONのことに関してはかなり新しいので、どんな助けでも大歓迎です。Highchartsで作業しようとしているプロジェクトがあります。それはJSF2.2、RichFaces 4です。データベースからデータをプルし、ストアをコレクションに入れるバッキングBeanをすでに持っています。次に、コレクションをGSON文字列に変換します。GSONオブジェクトのプリントアウトからのデータのサンプルは次のとおりです。
{"プール価格":[{"date": "Date.UTC(2012,5,4,1)"、 "data": "1144.144"}、{"date": "Date.UTC(2012,5、 4,2) "、" data ":" 1030.421 "}]、" RAPP ":[{" date ":" Date.UTC(2012,5,4,1) "、" data ":" 11.50 "}、 {"date": "Date.UTC(2012,5,4,2)"、 "data": "10.87"}]}
このページに関しては、HighChartsのサンプルページからJSFiddleでグラフをデザインし、ハードコードされた値を使用して見た目やデザインを正しくしました。
今の私の問題は、バッキングBeanからハイチャートにデータを取得することです。私のページは今こんな感じです
<h:head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="http://code.highcharts.com/stock/highstock.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script type="text/javascript">
$(document).ready(function() {
function chartdata() {
console.log("Grabbing chart data");
var data = jQuery("#chartvalue").attr('value');
}
});
</script>
</h:head>
<h:body>
<h:form prependId="false" >
<a4j:commandButton value="LoadData" oncomplete="chartdata();" action="#{dailyReportBean.loadChartData}" id="chartvalue_btn" />
<h:inputHidden value="#{dailyReportBean.json}" id="chartvalue" />
<div id="container">
<script src="DR_PoolPrice_Graph.js" type="text/javascript"></script>
</div>
</h:form>
</h:body>
値がコード化されたプリセットJSファイルは正常にロードされます。したがって、問題は、chartdata()のデータをhighchartsファイルにアクセスすることと、それをどのように参照するかです。
highchartsファイルは次のようになります
$(function() {
Highcharts.setOptions({
colors: ['#FFFFCC','#799ECD',]
});
var chart = new Highcharts.StockChart({
chart: {
renderTo: 'container',
backgroundColor: '#FCD5B5',
borderColor: 'EBBA95',
borderWidth: 2,
borderRadius: 10,
spacingLeft: 40,
spacingRight: 20,
zoomType: 'x',
plotBorderColor: '#346691',
plotBorderWidth: 1,
plotBackgroundColor: {
linearGradient: {
x1: 0,
y1: 0,
x2: 0,
y2: 1
},
stops: [
[0, 'rgb(255, 255, 255)'],
[1, 'rgb(200, 200, 255)']
]
}
},
title: {
text: 'Price'
},
rangeSelector: {
enabled: false
},
yAxis: {
labels: {
x: -25
}
},
legend: {
enabled: true,
floating: false,
align: 'center',
backgroundColor: '#FCFFC5',
borderColor: 'black',
borderWidth: 1,
layout: 'horizontal',
verticalAlign: 'bottom',
y: 0,
shadow: true
},
navigator: {
enabled: false
},
scrollbar: {
enabled: false
},
navigation: {
buttonOptions: {
align: 'right'
}
},
series: [{
name: 'RAPP',
data: rapp,
type: 'area'},
{
name: 'Pool Price',
data: poolprice},
]
});
});
これはかなり大きな投稿であると申し訳ありません。私はこれをさまざまな方法で見てみましたが、クリックしなかったので、徹底的にしたかっただけです。ばかげていると思います。
あなたが提供できるどんな入力にも感謝します!