Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在新元素I';您刚才使用jQuery追加了什么?_Javascript_Jquery_Html_Charts_Google Visualization - Fatal编程技术网

Javascript 如何在新元素I';您刚才使用jQuery追加了什么?

Javascript 如何在新元素I';您刚才使用jQuery追加了什么?,javascript,jquery,html,charts,google-visualization,Javascript,Jquery,Html,Charts,Google Visualization,在上下文中,我试图构建一个页面,显示当天所有活动体育比赛的谷歌图表。一个数据提要将通知有多少游戏(在我下面的示例中,有3个游戏正在进行)。从那里,我想循环浏览游戏集,使用jQuery为每个游戏创建一个div,然后在每个div中放置一个google图表。下面是我写的: 这将来自一个数据源: var activeGames = 3; 在活动游戏中循环,为每一个游戏建立一个图表 for (i = 0; i < activeGames; i++){ $('.chartContainer')

在上下文中,我试图构建一个页面,显示当天所有活动体育比赛的谷歌图表。一个数据提要将通知有多少游戏(在我下面的示例中,有3个游戏正在进行)。从那里,我想循环浏览游戏集,使用jQuery为每个游戏创建一个div,然后在每个div中放置一个google图表。下面是我写的:

这将来自一个数据源:

var activeGames = 3;
在活动游戏中循环,为每一个游戏建立一个图表

for (i = 0; i < activeGames; i++){

  $('.chartContainer').append("<div id='game'></div>");

  google.charts.load('current', {packages: ['corechart', 'line']});
  google.charts.setOnLoadCallback(drawChart);

  function drawChart() {
  var data = new google.visualization.DataTable();
  data.addColumn('number', 'Team A');
  data.addColumn('number', 'Team B');

  data.addRows([1,1]);
    //chart data redacted, would come from data feed


  var options = {
    //chart options redacted, irrelevant
  };

  var chart = new google.visualization.LineChart(document.getElementById('game'));
  chart.draw(data, options);
}
调用函数时,for循环在以下范围内:

function drawChart() {

    var activeGames = 3;

    for (i = 0; i < activeGames; i++){
        $('.container').append("<div id='g" + i + "'></div>");

    var data = new google.visualization.DataTable();
    data.addColumn('number', 'Team A');
    data.addColumn('number', 'Time');
    data.addRows([1,1]]); //redacted the rest
    var options = {};//redacted

    var chart = new google.visualization.LineChart(document.getElementById('g'+ i));
  chart.draw(data, options);
};
函数绘图图(){
var-activeGames=3;
对于(i=0;i

})

首先加载google,等待
回调
,然后绘制图表

google.charts.load
每次页面加载只需调用一次

无需为每个图表加载

因为您正在为每个图表创建一个新的

创建div并将其传递给图表的构造函数
无需分配
id
,该id无论如何都必须是唯一的

请参阅以下工作片段

google.charts.load('current'{
回调:图纸,
软件包:['corechart']
});
函数绘图图(){
var-activeGames=3;
对于(i=0;i

首先加载google,等待
回调
,然后绘制图表

google.charts.load
每次页面加载只需调用一次

无需为每个图表加载

因为您正在为每个图表创建一个新的

创建div并将其传递给图表的构造函数
无需分配
id
,该id无论如何都必须是唯一的

请参阅以下工作片段

google.charts.load('current'{
回调:图纸,
软件包:['corechart']
});
函数绘图图(){
var-activeGames=3;
对于(i=0;i

问题的一部分是
id
对于页面来说应该是唯一的。因此,在创建
div
时,应使其唯一:

$('.chartContainer').append("<div id='game" + i + "'></div>");

问题的一部分是
id
对于页面来说应该是唯一的。因此,在创建
div
时,应使其唯一:

$('.chartContainer').append("<div id='game" + i + "'></div>");

部分问题可能与您正在使用相同的
id
创建多个
div
s有关
id
应该是该页面唯一的。部分问题可能与您正在使用相同的
id
创建多个
div
有关<代码>id
应该是该页面唯一的。谢谢大家。我把你们的答案结合起来就成功了。谢谢你们。我是用你的答案组合起来的。
var chart = new google.visualization.LineChart(document.getElementById('game' + i));