【问题标题】:Javascript FOR loop inside of an array数组内的Javascript FOR循环
【发布时间】:2013-06-16 12:25:20
【问题描述】:

我一直在避免使用 javascript,但需要将它用于我正在使用的谷歌图表。我的原始代码是这样的……

echo "function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Date', 'Machines Total'  ],

      [ '$Day[6]', $Hour_Tot[7].$Min_Tot[7] ], 
      [ '$Day[5]', $Hour_Tot[6].$Min_Tot[6] ], 
      [ '$Day[4]', $Hour_Tot[5].$Min_Tot[5] ],
      [ '$Day[3]', $Hour_Tot[4].$Min_Tot[4] ],
      [ '$Day[2]', $Hour_Tot[3].$Min_Tot[3] ],
      [ '$Day[1]', $Hour_Tot[2].$Min_Tot[2] ],
      [ '$Day[0]', $Hour_Tot[1].$Min_Tot[1] ]

      ]);";

这段代码运行良好,并且已经过测试。我现在想做的是拥有 图表变得更加动态,因此用户可以输入数字并且图表可以输出 天数的数据。所以我需要添加一个for循环。这就是我得到的 远。

echo "function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Date', 'Machine L1'  ],
      for (count = 1, DayNumber = 0; count == 7; ++count, ++DayNumber ) 
  document.write([ '$Day[DayNumber]', $Hour_Tot[count].$Min_Tot[count]],);
       ]);";

此代码不起作用。我不明白如何使用 document.write 来输出 我需要复制上述代码的 7 行代码。

【问题讨论】:

  • 为什么不使用 PHP 进行迭代?
  • @NULL 所说的。像这样从 php 中回显 javascript 太疯狂了,伙计。
  • 谷歌图表正在呼应 php.ini 中的 javascript。我只是使用那里的格式。
  • 我很抱歉我是这样回应 javascript 的人。我会看看我是否也可以改变它。
  • 尝试在单独的文件中编写您的 javascript 函数,然后仅将 php 中的数据回显到 javascript 变量中,然后您可以在函数中使用该变量。这样你就可以让 js 和 php 完全分开。

标签: php javascript arrays for-loop google-visualization


【解决方案1】:

此代码不起作用,因为您在数组声明中放置了一个 for 循环。 您应该执行以下操作...

echo "function drawChart() {
var data = google.visualization.arrayToDataTable([
  ['Date', 'Machine L1'  ],";
for ($count = 1, $DayNumber = 0; $count <= 7; ++$count, ++$DayNumber ) {
  echo "  [ '$Day[$DayNumber]', $Hour_Tot[$count].$Min_Tot[$count]],";
}
echo "]);";

或者您也可以使用 javascript 来处理它,它应该如下所示:

echo "var arr = [['Date', 'Machine L1']];
  for(var i=1;i<=7;i++) {
    arr.push([{$Day}[i-1], {$Hour_Tot}[i].toString()+{$Min_Tot}[i].toString()]);
  }
  var data = google.visualization.arrayToDataTable(arr);
";

【讨论】:

  • 完美!!感谢您的快速回答。起初没有用,但我添加了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-25
  • 2015-07-14
相关资源
最近更新 更多