Tôi đã giải quyết vấn đề của tôi nhưng không thể trả lời nó bản thân mình kể từ khi tôi quá mới vào trang web này:"container không được định nghĩa" Google biểu đồ
Hóa ra tôi cần thiết để sử dụng như sau:
chart = new google.visualization.PieChart(document.getElementById('pie_today_div'));
Tôi đã sử dụng JQuery để truy cập phần tử, $('#pie_today_div')
. Tính đến nay là điểm bằng chứng thực tế là các nhà xây dựng PieChart phải có mã JS tiêu chuẩn, document.getElementById('pie_today_div')
Có lẽ cái gì khác đang xảy ra, nhưng thay đổi cách tôi truy cập vào yếu tố container sửa mã của tôi
vấn đề ban đầu THAM KHẢO CHO GIẢI PHÁP CỦA TÔI
Tôi gặp phải lỗi "Vùng chứa không được xác định" khi tôi đang cố gắng khởi tạo đối tượng Google PieChart.
Tôi đã xác thực trang của mình tại http://validator.w3.org/ và tôi nhận được biểu ngữ màu xanh lục đẹp cho biết nó xác thực.
Tôi không nhận được lỗi js khi tải trang. Cuộc gọi Ajax của tôi đang thực hiện một chuyến đi đầy đủ với dữ liệu tôi muốn từ DB.
Đây là HTML của tôi
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link href="/css/note.css?10022012" rel="stylesheet" type="text/css" media="screen">
<script type="text/javascript" language="javascript" src="/call/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">google.load('visualization', '1.0', {'packages':['corechart']});</script>
<script type="text/javascript" language="javascript" src="/call/js/init.js?10042012-2"></script>
<title>Call Stats</title>
</head>
<body>
<a href="#" id="pie_today_link">Today Stats</a>
<div id="pie_today_div"></div>
</body>
</html>
đây là js:
function drawPieChartToday() {
$.post('/call/ajax.php5',{
action:'pieToday'
}, function(ticketData) {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Count');
data.addColumn('number', 'Topic');
for (var key in ticketData){
data.addRow([key, ticketData[key]]);
}
options = {
title: 'Issue Topics'
};
alert($('#pie_today_div').attr('id'));
chart = new google.visualization.PieChart($('#pie_today_div'));
chart.draw(data, options);
},'json');
}
đây là mã gỡ lỗi của tôi để đảm bảo yếu tố đã được tìm thấy: alert($('#pie_today_div').attr('id'));
< - thông báo "pie_today_div"
lý do là bộ chọn jquery trả về một tập hợp các phần tử phù hợp (mảng), ngay cả khi chọn id duy nhất. – abidibo
đây là một thông tin rất hữu ích, tôi cần phải nhớ nó cho phần còn lại của cuộc sống CNTT của tôi. –