我正在制作一个需要使用谷歌图表的应用程序。 我有这个代码。如果仅使用变量 a 和 b ,一切正常。只要我添加另一个名为 c 的变量,它就会显示如下输出。
为什么以这种方式显示? a,b,c的值分别为8,10,50。
这是代码: -
<?php
include 'dbconnector.php';
include 'class/class.user.php';
$user = new user();
try
{
$s = $conn->query("SELECT * from messagequeue where indexid=1");
$s->setFetchMode(PDO::FETCH_OBJ);
$row = $s->fetch();
$s->closeCursor();
$total = $user->getMaxEmailsFromGridId($row->gridid);
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
<html>
<head>
</head>
<body>
<div id="donutchart" style="width: 900px; height: 500px;"></div>
<input type="hidden" name="read" id="read" value="<?php echo $row->read; ?>">
<input type="hidden" name="unsubscribed" id="unsubscribed" value="<?php echo $row->unsubscribed; ?>">
<input type="hidden" name="total" id="total" value="<?php echo $total; ?>">
</body>
</html>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
var a=document.getElementById('read').value;
var b=document.getElementById('unsubscribed').value;
var c=document.getElementById('total').value;
alert(a);
alert(b);
alert(c);
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['A', a],
['B', b],
['C', c]
]);
var options = {
title: 'Mail Activity',
pieHole: 0.4,
};
var chart = new google.visualization.PieChart(document.getElementById('donutchart'));
chart.draw(data, options);
}
</script>
欢迎提出任何建议。
答案 0 :(得分:1)
您需要将a
,b
和c
解析为数字:
var a = parseFloat(document.getElementById('read').value);
var b = parseFloat(document.getElementById('unsubscribed').value);
var c = parseFloat(document.getElementById('total').value);
如果您的值已知为整数,也可以使用parseInt
代替parseFloat
。