Javascript没有显示我期望的内容

时间:2014-07-14 15:06:16

标签: javascript php

我在使用Javascript / php / html时遇到了一些麻烦。如果时间是>我在下面写了这段代码来显示“GetM”。 480秒,当只有一个这样的实例时,这看起来很有效。但是,我有14个块,而其他任何块都没有显示GetM值。下面是“块”的意思的图像。第一个块上GetM的值是百分比

what I mean by blocks

<div id ="ZL01001Percent" class="BottomboxPercent">
    <script type="text/javascript">
        var time = <?php echo $machine1->data(); ?>;
        var M = <?php echo $machine1->GetM(); ?>;
        var P = M.toFixed(1);

        if (time > 480) {
            document.write(P * 100 + '%');
        } 
    </script>
</div>

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

我强烈建议您创建数据的JS Object表示。如果您创建PHP数组,则可以使用json_encode生成

var machines = <?PHP echo json_encode($myValues); ?>

应该导致

var machines = { 
  ZL01001: { time:500, M : 733},
  ZL01002: { time:600, M : 556}
}

然后你可以做

window.onload=function() {
  for (var m in machines) {
    var machine = machines[m];
    document.getElementById(m+"Percent").innerHTML=machine.time>480?(machine.M.toFixed(1)*100)+"%":"";
  }
}