谷歌图表 - 重新格式化变量不起作用

时间:2015-02-23 07:46:28

标签: javascript charts

在Google图表中 - 当我调用函数从输入中删除变量中的逗号时,它不起作用。  我想要的是谷歌图表中的ldsalary(没有逗号)更新。在onkeyup上计算并显示ldsalary值。它会改变。

更新:制作了jsfiddle

的onkeyup:

document.getElementById('cal').onkeyup=function(){
calculator();
drawChart();

重新格式化功能:

function reformat(str) {
    while (str.search(",") >= 0) {
        str = (str + "").replace(',', '');
    }
    return str;
};

计算器功能,用新值更新ldsalary:

function calculator(){
.........
var jldsalary = document.getElementById("ldsalary");
 xm = a * Math.pow(1 + jasincrease / 100, b);
jldsalary.value = rounding(xm).toLocaleString(); 
}

图表:

<script type="text/javascript">
var rage = 55 ;
var slry = 5000;

google.load('visualization', '1', {packages: ['corechart']});
google.setOnLoadCallback(drawChart);

    function drawChart() {
    rage =document.getElementById('rage').value *1;
    var xxx = document.getElementById('ldsalary').value *1;
    // if i add this google chart wont show.
    slry.value =reformat(xxx); // without reformat, there will be ',' value.

   var data = new google.visualization.DataTable();

  data.addColumn('number', 'X');
  data.addColumn('number', 'Amount');

  data.addRows([
    [0, 0], [rage,slry],
    [100, 0]
  ]);

  var options = {
    curveType: 'function',
    width: 500,
    height: 200,
    hAxis: {
      title: 'Age'
    },
    vAxis: {
      title: 'Amount'
    }
  };
    var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));
    chart.draw(data, options);
  }

这是一天做各种解决方案。感谢帮助我。

2 个答案:

答案 0 :(得分:0)

根据您的代码,您已将slry定义为变量,并尝试使用完全无效的spry.value更改:

...
slry.value =reformat(xxx); //its just a variable not input element

...
slry = reformat(xxx);

答案 1 :(得分:0)

问题在于重新格式化()。

function reformat(str) {
    return parseInt(str.replace(',', ''));
}

现在它可以正常工作:随着输入框中的值发生变化,Google图表也会发生变化。