2017-03-13 3 views
-1

Standardmäßig zeige ich ein Diagramm für monatliche Daten in meiner Sicht mit chartkick und highcharts. Ich habe bereits einen Hash erstellt, um das Jahres-Chart anzuzeigen, aber wie kann ich das Show-Jahres-Chart auf Knopfdruck anzeigen? Mein html:Wie kann ich Jahresgrafiken auf Button klicken in Rails

<div class="flot-chart"> 
    <div class="flot-chart-content" id="flot-dashboard-chart"> 
    <%= column_chart @chart_by_month ,height: "200px",width: "900px" %> 
    </div> 
</div> 

und die Schaltfläche, die ich hinzugefügt habe, ist nur Monat. Ich werde ein Diagramm für jährliche Daten hinzufügen, aber wie zeige ich es mit einem Knopfdruck an?

<div class="btn-group"> 
    <button type="button" id="by_month" class="btn btn-xs btn-white">Monthly</button>           
</div> 

Antwort

0

Wenn ich Sie zu verstehen, müssen Sie den Ajax-Aufruf in Say goodbye to timeouts Abschnitt beschrieben implementieren und fügen Sie dann die Filter, den Sie in der Steuerung wollen und js auch Funktionalität. Vergiss die Route nicht.

Manche mögen:

HTML:

<div class="flot-chart"> 
    <div class="flot-chart-content" id="flot-dashboard-chart"> 
    <%= column_chart chart_by_period_path(period: "month") ,height: "200px",width: "900px" , id: "id_g1" %> 
    </div> 
</div> 

ROUTE:

... 
get 'chart_by_period/(:period)', to: "controller#chart_by_period", as: "chart_by_period" 
... 

JS:

... 
var g1  = Chartkick.charts["id_g1"]; 

$("button#refresh_graph__year_btn").on('click', function(){ 
    g1.updateData("/chart_by_period/year"); 
}); 
... 

REGLER:

+0

danke. eine Option, json nicht zu benutzen? – Kgb

+0

Ich weiß nicht, vielleicht können Sie die Documentacion oder den Code des Edelsteins sehen. Warum willst du JSON nicht? – inye

+0

Ich habe Ajax verwendet. und wenn es mit Javascript gemacht werden könnte? – Kgb

Verwandte Themen