2013-02-07 74 views
2

我是新來的(JS,Rails和highcharts,但他們真的很好),我真的很感謝一些幫助。我的故事是我有一個for loop,我想在highcharts中顯示for循環的結果。我應該怎麼做?我如何在highcharts中顯示for循環的結果

<p>A n: <%= @calculation.a_n %></p> 
<p>H: <%= @calculation.h %></p> 
<p>K: <%= @calculation.k %></p> 
<p>P: <%= @calculation.p %></p> 
<p>A: <%= @calculation.a %></p> 
<small>T: <%= @calculation.created_at %></small> 
<br /><br /> 
    <%= @calculation.a_n %> <br /> 
    <% @amount = (@calculation.h * @calculation.k) %> 
    <% @percent = (@calculation.h * @calculation.k)/@calculation.p %> 
    <% for i in [email protected] do %> 
    <% @newAmount = ((@amount/(@percent)) + @amount) %> 
    <%= "#{i}" + " - #{@amount}" %><br /> 
    <% @[email protected] %> 
    <% end %> 
<script type="text/javascript" charset="utf-8"> 
    $(function() { 
    new Highcharts.Chart({ 
     chart: { 
    renderTo: "calculations_chart" 
     }, 
     title: { 
    text: "Sum for a year" 
     }, 
     xAxis: { 
    text: "Years" 
     }, 
     yAxis: { 
    title: { 
     text: "Sum" 
     } 
     }, 
     series: [{ 
    data: //for loop? 
     }] 
    }); 
    }); 
</script> 
<div id="calculations_chart" style="width:560px; height:300px;"></div> 
+0

什麼是循環你的意思是?預先計算的數據服務器端?將json編碼的輸出放在頁面上的某處(scipt標籤內),解碼並將其放到數據中 –

回答

1

如果您有被計算在一個循環中一個值,你可以把它放在正確的位置,你想讓它

series: [{ 
data: [<%[email protected]%>] 
    }] 

或者,如果您有一系列的存儲數據的地方要遍歷,並將它們添加到您的圖表

series: [ 
     { 
     data: [ 
<% for i in [email protected] do %> 
    <% @amount = ((@amount/(@percent)) + @amount) %> 
    <%= @amount %>, 
<% end %> 
]} 
] 

這是在頁面大量的邏輯,你可能要考慮一下它移動到控制器或模型。爲了在多個地方實現超級可用性,您可以使用JSON中的數據提供操作,以便在需要它的頁面中異步獲取數據。

編輯以匹配高圖格式

+0

感謝您的回覆!基本上我只需要在這個頁面中。這是「show」視圖,如果我在瀏覽器中打開它,那麼這就是我總是看到的視圖。我嘗試了代碼,但它給了我空白點。沒有錯誤沒有,只是空白。我確實有一系列的數據要存儲,我想將它們添加到圖表中。 – lion

+0

剛剛查看了他們想要的數據格式的高圖示例,請嘗試編輯後的代碼版本。您可以查看源代碼以確保數據在那裏,同時檢查控制檯以確保沒有錯誤 –

+0

它仍然是一樣的。在源文件中現在有數據存儲 – lion