javascript - 使用计算总和作为 Google Chart 的数据

标签 javascript jquery google-visualization

我正在尝试使用 Google 可视化 API 创建一个图表,使用 javascript 计算对选中的单选按钮的值求和,但是我无法让 API 接受输出作为散点图的数据。

Javascript:

$(document).ready(function(){
  var radios = $('input[type=radio]');

  var evalResult = function(){

    var numQuestions = 80;
    var sum1 = 0;
    var sum2 = 0;

    var expr_str = '';
    for(var i = 1; i <= numQuestions; i++){
      var q = $("input[type=radio][name=q"+i+"]:checked").val();
      var value = q.split(',');
      sum1 += parseInt(value[0]);
      sum2 += parseInt(value[1]);

    }

    var total = eval("['',''],[" + sum1 + "," + sum2 + "]");
  }

  evalResult();
  radios.change(evalResult);

});

我的印象是,我需要做的就是按照 API 可以接受的方式格式化数据,然后像这样调用它:

var data = new google.visualization.arrayToDataTable(total);

我尝试了各种不同的解决方案,一些是文档建议的,另一些是我在其他地方找到的类似方法的示例,但似乎没有任何效果。作为这类事情的新手,我显然遗漏了一些简单的东西或者只是做错了。任何帮助将不胜感激,谢谢。

最佳答案

你需要在你的函数之前定义total

$(document).ready(function(){
  var radios = $('input[type=radio]');
  var total = 0;                                 //<<<<<<<<<<<<<<<<<< here
  var evalResult = function(){

    var numQuestions = 80;
    var sum1 = 0;
    var sum2 = 0;

    var expr_str = '';
    for(var i = 1; i <= numQuestions; i++){
      var q = $("input[type=radio][name=q"+i+"]:checked").val();
      var value = q.split(',');
      sum1 += parseInt(value[0]);
      sum2 += parseInt(value[1]);

    }

    total = eval("['',''],[" + sum1 + "," + sum2 + "]"); // <<< remove var from here
  }
  alert(total);   // output should be 0
  evalResult();
  alert(total);   // output should be your total
  radios.change(evalResult);

});

关于javascript - 使用计算总和作为 Google Chart 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34578194/

相关文章:

Javascript 选定的 anchor

javascript - 是否可以在 css 中根据页面 HTML 中出现的链接链接背景图片?

javascript - 根据超链接文本中的最后一个单词更改背景

javascript - 除 chrome 之外的所有浏览器中的谷歌图表 "is not a function"

javascript - 谷歌图表获取自定义工具提示来处理动画

javascript - &lt;script&gt; 标签没有正确关闭

javascript - 使用 jquery 用新值更新表

JQUERY - 从 XML 中检索二进制 (base64) 编码的图片并在 DOM 中显示

javascript 使用 # id 聚焦于 div 元素

google-apps-script - 在 Google Apps 脚本中过滤图表上的日期范围