我正在尝试循环遍历数组元素来填充谷歌图表。我可以直接在 php 和 javascript 中调用数组元素,我什至还将 php 数组转换为 javascript 数组。但我只能调用数组元素而不能循环数组。
我能做什么...
<script src="js/modernizr.js"></script>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
var dateArray = <?php echo (json_encode($arrayDate)); ?>;
var hitsArray = <?php echo (json_encode($arrayHits)); ?>;
<!---document.write(myVariable);-->
<!--Content Delivery Network Stats-->
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'Hits'],
[dateArray[0], +hitsArray[0] ],
[dateArray[1], +hitsArray[1] ],
[dateArray[2], +hitsArray[2] ]
]);
var options = { title: 'Content Delivery Network Stats',
hAxis: {title: 'Date', titleTextStyle: {color: 'red'}} };
var chart = new google.visualization.ColumnChart (document.getElementById('chart_div')); chart.draw(data, options); }
<!--Content Delivery Network Stats-->
</script>
我正在尝试做什么......
<script src="js/modernizr.js"></script>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
var dateArray = <?php echo (json_encode($arrayDate)); ?>;
var hitsArray = <?php echo (json_encode($arrayHits)); ?>;
<!---document.write(myVariable);-->
<!--Content Delivery Network Stats-->
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var myDataArray = [['Date', 'Hits']];
for (var i = 0; i < dateArray.length; i++) {
myDataArray.push([dateArray[i], hitsArray[i]);
}
var data = google.visualization.arrayToDataTable(myDataArray);
var options = { title: 'Content Delivery Network Stats',
hAxis: {title: 'Date', titleTextStyle: {color: 'red'}} };
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div')); chart.draw(data, options); }
<!--Content Delivery Network Stats-->
</script>
最佳答案
试试这个:
var myDataArray = [['Date', 'Hits']];
for (var i = 0; i < dateArray.length; i++) {
myDataArray.push([dateArray[i], hitsArray[i]]);
}
var data = google.visualization.arrayToDataTable(myDataArray);
关于javascript - 使用 PHP 和 javascript 数组的 Google 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24186132/