我试图根据用户选择的年份显示表格图表。我无法遍历这些数据。
function drawTable() {
year = document.getElementById("thedropdown").value;
var data = new google.visualization.DataTable();
data.addColumn('string','YEAR');
data.addColumn('number', 'JAN');
data.addColumn('number', 'FEB');
data.addColumn('number', 'MAR');
data.addColumn('number', 'APR');
data.addColumn('number', 'MAY');
data.addColumn('number', 'JUNE');
data.addColumn('number', 'JULY');
data.addColumn('number', 'AUG');
data.addColumn('number', 'SEP');
data.addColumn('number', 'OCT');
data.addColumn('number', 'NOV');
data.addColumn('number', 'DEC');
data.addRows([
['2005',15000,20100,54637,27384,84958,43526,54637,82939,94857,53647,36456,87382],
['2006',13500,35464,24536,64738,53426,26373,53426,72634,53425,72837,63526,72839],
['2007',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2008',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2009',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2010',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2011',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2012',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2013',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2014',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
]);
var table = new google.visualization.Table(document.getElementById('table_div'));我只想显示用户选择的年份从一月到十二月的值。如果用户选择ALL,则显示整个表。帮我摆脱这一切。
我的Html部分:
<form action="#" id="form1" name="form1" onchange="drawChart()" >
<select id="thedropdown">
<option value="2005">2005</option>
<option value="2006">2006</option>
</select>
</form>发布于 2018-02-07 12:23:02
你不需要循环,
您可以使用数据表方法--> getFilteredRows
若要创建筛选过的数据视图,请执行以下操作。
var view = new google.visualization.DataView(data);
if (year !== 'All') {
view.setRows(data.getFilteredRows([{
column: 0,
value: year
}]));
}然后用视图绘制图表..。
google.charts.load('current', {
packages:['table']
}).then(function () {
var data = new google.visualization.DataTable();
data.addColumn('string','YEAR');
data.addColumn('number', 'JAN');
data.addColumn('number', 'FEB');
data.addColumn('number', 'MAR');
data.addColumn('number', 'APR');
data.addColumn('number', 'MAY');
data.addColumn('number', 'JUNE');
data.addColumn('number', 'JULY');
data.addColumn('number', 'AUG');
data.addColumn('number', 'SEP');
data.addColumn('number', 'OCT');
data.addColumn('number', 'NOV');
data.addColumn('number', 'DEC');
data.addRows([
['2005',15000,20100,54637,27384,84958,43526,54637,82939,94857,53647,36456,87382],
['2006',13500,35464,24536,64738,53426,26373,53426,72634,53425,72837,63526,72839],
['2007',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2008',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2009',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2010',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2011',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2012',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2013',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
['2014',17567,25000,64738,83748,62536,35467,53647,54636,65748,93894,24356,21000],
]);
var table = new google.visualization.Table(document.getElementById('table_div'));
selectYear = document.getElementById('thedropdown');
selectYear.addEventListener('change', drawChart, false);
drawChart();
function drawChart() {
var year = selectYear.value;
var view = new google.visualization.DataView(data);
if (year !== 'All') {
view.setRows(data.getFilteredRows([{
column: 0,
value: year
}]));
}
table.draw(view);
}
});<script src="https://www.gstatic.com/charts/loader.js"></script>
<select id="thedropdown">
<option value="All" selected>All</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
</select>
<div id="table_div"></div>
https://stackoverflow.com/questions/48656735
复制相似问题