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

Google chart - reformat variable not working

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

更新:做了一个 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);
  }

做了各种各样的解决方案已经一天了。预先感谢您帮助我。

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

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

...
slry = reformat(xxx);

问题出在 reformat() 中。

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

现在可以使用了:随着输入框中值的变化,google 图形也会发生变化。