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 图形也会发生变化。
在 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 图形也会发生变化。