2015-02-23 62 views
0

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

更新:由jsfiddle

的onkeyup:

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

格式化功能:

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

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

计算器功能,这个更新与新价值ldsalary

图表:

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

它是一个一天做各种解决方案。提前谢谢帮助我。

回答

0

的问题是在重新格式化()。

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

现在它的工作原理:当输入框中的值发生变化时,Google图形也发生变化。

0

按您的代码,您已经定义slry作为变量,并试图用spry.value,这是完全无效,更改:

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

... 
slry = reformat(xxx); 
+0

不工作。整个图表照常消失。 – 2015-02-23 08:10:20

+0

@AsherMalcom你看到任何错误..? – 2015-02-23 08:11:54

+0

对不起。铬不显示错误。 未捕获的类型错误:未定义不是函数 – 2015-02-23 08:16:01