javascript - Javascript函数的多种使用

标签 javascript php html wordpress chart.js

我在 JS 中得到了一些代码,我在 php 脚本中使用了这些代码。(基于 Chartjs)

$licznik=0;
    foreach ($all as $key => $row) {
                                      $imiona[$licznik]=$row['imie'];
                                      $nazwiska[$licznik]=$row['nazwisko'];
                                      $tak[$licznik]=$row['tak'];
                                      $nie[$licznik]=$row['nie'];
                                      $licznik++;
                                    }


    $wynik.='<div>
      <canvas id="'.$team.'">
      </canvas>
      </div>
      <br><hr>';

   $wynik.='<script>

  var barChartData = {
    labels : ["'.wypiszimiona($imiona,$nazwiska,$licznik).'], //radni
    datasets : [
      { //głosy na nie
        fillColor : "#BA0606",
      strokeColor : "#FF0808",
        highlightFill: "rgba(220,220,220,0.75)",
        highlightStroke: "rgba(220,220,220,1)",
        data : ['.wypisznie($nie,$licznik).']
      },
      { //głosy na tak
        fillColor : "#23BA06",
        strokeColor : "#30F70A",
        highlightFill : "rgba(151,187,205,0.75)",
        highlightStroke : "rgba(151,187,205,1)",
        data : ['.wypisztak($tak,$licznik).']
      }
    ]
  };
  window.onload = function(){
    var ctx = document.getElementById("'.$team.'").getContext("2d");
    window.myBar = new Chart(ctx).StackedBar(barChartData, {
      responsive : true
    });

      };
  </script>';

它只渲染最后一个 Canvas ,另一个不渲染(但JS代码是正确的(在源代码中)。我不知道出了什么问题。我不擅长JS:(

最佳答案

根据您提供的少量信息,我假设您正在使用不同的 php 变量复制并粘贴该 js 代码。每次执行此操作时,您都会添加代码来告诉客户端

window.onload = function(){
    var ctx = document.getElementById("'.$team.'").getContext("2d");
    window.myBar = new Chart(ctx).StackedBar(barChartData, {
      responsive : true
    });

如果多次执行此操作,则会覆盖 window.onload,并且只有最后一次重写才会发生,这意味着只会绘制最后一个 Canvas 。

关于javascript - Javascript函数的多种使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36226756/

相关文章:

javascript - 在触摸设备上捕获并停止拖动

php - 未找到 Selenium 元素

php - 用户登录后 Laravel 5 session 不会持续存在

php - 在数据库中存储序列化数组?

html - 选择一个类中除 div 之外的所有 div

html - 当两个侧列必须消失时,如何让 Bootstrap 使中心列在所有尺寸下都居中

javascript - 使用 Angular JS 使用组件驱动开发时如何避免多次 http 调用

javascript - 如何将前导 "0"添加到日期字符串的月/日?

html - 我可以使用 :before or :after pseudo-element on an input field? 吗

javascript - Jquery密码(4位数字)验证