2015-02-23 61 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