asked on June 26, 2020
Hello,
I need some help to create a stacked column-chart on Forms, which Laserfiche Forms receives data into a table from a database. The number of rows may vary based on received data. Unfortunately, my chart is populating only the 1st row of data.
My javascript skills are still novice and I would appreciate some help on the subject.
Below is the JS code I'm using.
//Chart for Table 1 $(document).ready(function() { //load the Google Charts Visualization $.getScript('http://localhost/forms/js/loader.js', function () { }); //when anything in the Table changes, update the bar chart $('.Proj').on('change', function() { //Chart update code google.charts.load('current', {'packages':['corechart']}); google.charts.setOnLoadCallback(drawChart); function drawChart() { //get the table values from the hidden totals fields var contract = String($('.Contract input').val()); var periodrevenue = parseInt($('.PeriodRevenue input').val()); var periodcost = parseInt($('.PeriodCost input').val()); var periodmovement = parseInt($('.PeriodMovement input').val()); //store the fields into the array var data = google.visualization.arrayToDataTable([ ['Contract','Period Revenue','Period Cost','Period Movement'], [contract, periodrevenue, periodcost, periodmovement], ]); //set the chart title var options = { title: 'Contracts Review', isStacked: true }; //update the bar chart var chart = new google.visualization.ColumnChart(document.getElementById('chart1_values')); chart.draw(data, options); } }); });
1
0