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

Google chart - reformat variable not working

本文关键字:格式化 变量 不起作用 -重 谷歌      更新时间:2024-04-01

在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);

问题出现在重新格式化()中。

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

现在它工作了:随着输入框中值的变化,谷歌图也发生了变化。