我正在尝试将变量传递到Google图表中,但是当我停止将其显示在图表中时,我的目标是每次我在输入字段中输入不同的数字时图表都会更改,但是我现在什么都没有。这就是我所拥有的,有人可以对我做错的事情提供一些指导吗?
Java脚本
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1', {packages: ['corechart']});
</script>
<script type="text/javascript">
function numbers(){
var work_field = document.forms['work_form']['work_n_field'].value;
var work_div = document.getElementById('number-work');
var numberschart = work_div.innerHTML = work_field;
return false;
};
function drawVisualization() {
// Create and populate the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Task');
data.addColumn('number', 'Hours per Day');
data.addRows(5);
data.setValue(0, 0, 'Work');
//Right here is where I pass my variable into the chart
data.setValue(0, 1, numberschart);
//And I leave the rest here until I define more input field.
data.setValue(1, 0, 'Eat');
data.setValue(1, 1, 2);
data.setValue(2, 0, 'Commute');
data.setValue(2, 1, 2);
// Create and draw the visualization.
new google.visualization.PieChart(document.getElementById('visualization')).
draw(data, {
title:"Mortgage Rates",
colors: ['#a4b12d', '#818e0a', '#5c6601', '#f0fd79', '#dbe864'],
});
}
google.setOnLoadCallback(drawVisualization);
</script>
HTML
<div id="visualization" style="width: 400px; height: 300px;"></div>
<form name="work_form" onsubmit="return numbers()">
<label id="n-work-label">Work</label><input name="work_n_field"/>
<button name="submit" id="submit" value="submit" onclick="numbers()">Submit</button>
</form>
<div id="number-work"></div>
</div>
任何帮助,不胜感激,谢谢
我也已将其添加到js小提琴中,但是将图表添加到资源时似乎无法检测到它。 http://jsfiddle.net/pkCCa/
最佳答案
这为我工作:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Example</title>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
var numberschart = 10; //<- Initial value
google.load('visualization', '1', {packages: ['corechart']});
function numbers(){
var work_field = document.forms['work_form']['work_n_field'].value;
var work_div = document.getElementById('number-work');
numberschart = work_div.innerHTML = work_field;
drawVisualization();
return false;
};
function drawVisualization() {
// Create and populate the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Task');
data.addColumn('number', 'Hours per Day');
data.addRows(5);
data.setValue(0, 0, 'Work');
//data.setValue(0, 1, 11);
data.setValue(0, 1, parseInt(numberschart));//<- The value you get from input field is a string, Google API will throw an error
data.setValue(1, 0, 'Eat');
data.setValue(1, 1, 2);
data.setValue(2, 0, 'Commute');
data.setValue(2, 1, 2);
// Create and draw the visualization.
new google.visualization.PieChart(document.getElementById('visualization')).
draw(data, {
title:"Mortgage Rates",
colors: ['#a4b12d', '#818e0a', '#5c6601', '#f0fd79', '#dbe864'],
animation:{
duration:1000,
easing: 'out',
},
vAxis: {
minValue:0,
maxValue:1000
},
});
}
google.setOnLoadCallback(drawVisualization);
</script>
</head>
<body>
<div id="visualization" style="width: 400px; height: 300px;"></div>
<form name="work_form" onsubmit="return false">
<label id="n-work-label">Work</label><input name="work_n_field"/>
<button name="submit" id="submit" value="submit" onclick="numbers();return false;">Submit</button>
</form>
<div id="number-work"></div>
</body>
</html>