Javascript Google图表-重新格式化变量不起作用
在谷歌图表中——当我调用函数从输入中删除变量中的逗号时,它不会工作。 我想要的是谷歌图表中ldsalary(不带逗号)更新的结果。ldsalary值在onkeyup时计算并显示。它将改变 更新:做了一个 onkeyup:Javascript Google图表-重新格式化变量不起作用,javascript,charts,Javascript,Charts,在谷歌图表中——当我调用函数从输入中删除变量中的逗号时,它不会工作。 我想要的是谷歌图表中ldsalary(不带逗号)更新的结果。ldsalary值在onkeyup时计算并显示。它将改变 更新:做了一个 onkeyup: document.getElementById('cal').onkeyup=function(){ calculator(); drawChart(); 重新格式化功能: function reformat(str) { while (str.search(",")
document.getElementById('cal').onkeyup=function(){
calculator();
drawChart();
重新格式化功能:
function reformat(str) {
while (str.search(",") >= 0) {
str = (str + "").replace(',', '');
}
return str;
};
计算器功能,使用新值更新LDSALLAY:
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);
}
变异系数=55;
var-slry=5000;
load('visualization','1',{packages:['corechart']});
setOnLoadCallback(drawChart);
函数绘图图(){
rage=document.getElementById('rage')。值*1;
var xxx=document.getElementById('ldsalary')。值*1;
//如果我加上这个谷歌图表就不会显示了。
slry.value=重新格式化(xxx);//如果不重新格式化,将有','值。
var data=new google.visualization.DataTable();
data.addColumn('number','X');
data.addColumn('number','Amount');
data.addRows([
[0,0],[rage,slry],
[100, 0]
]);
变量选项={
curveType:'函数',
宽度:500,
身高:200,
哈克斯:{
标题:“年龄”
},
言辞:{
标题:“金额”
}
};
var chart=new google.visualization.LineChart(document.getElementById('curve_chart');
图表绘制(数据、选项);
}
这是做各种解决方案的一天。提前感谢您的帮助。根据您的代码,您已将
slry
定义为一个变量,并试图使用根本无效的spry.value
,请更改:
...
slry.value =reformat(xxx); //its just a variable not input element
到
问题在于重新格式化()
现在它可以工作了:当输入框中的值改变时,谷歌图形也会改变。对不起。chrome不显示错误。未捕获的TypeError:undefined不是functionerror,而第行上有错误:函数重新格式化(str){WHILE(str.search(“,”>=0){str=(str+”).replace(“,”,”);}返回str;}@AsherMalcom您的行::var xxx=document.getElementById('ldsalary')。值*1;返回NaN,因为您试图将逗号分隔的值乘以1,请尝试删除乘法部分。。当我删除*1时,如果ldsalary发生更改,则无法获取值。其固定值为var slry=5000。但错误已经消失了。
...
slry = reformat(xxx);
function reformat(str) {
return parseInt(str.replace(',', ''));
}