0

我有Highcharts如下代码:

 tooltip: {
        formatter: function() {
            return ''+
                this.series.name +': '+ (100 - (this.y)) +' ('+ this.y +'%)';
        }
    },

PHP代码如下:

 $Blue = ((int)$data[6] -(int)$data[7]);
 $Red =  (int)$data[7];

我想(100 - (this.y))用这 2 个变量替换$Blue$Red因为在 arc y 中我有 2 个要显示的数字请参见第二张图表。但是我不知道如何解决它,请知道的人帮助我,谢谢。

4

3 回答 3

1

如果您的 javascript 代码在 PHP(.php) 文件中,那么您可以替换为,

<?php
$Blue = 100;
$Red = 200;
?>
<script type="text/javascript" >
alert("Blue is " + <?php echo $Blue; ?> );
alert("Red is " + <?php echo $Red; ?> );
</script>

或者

您的 javascript 和 php 存在于不同的文件中,然后执行以下操作

//myphp.php 文件

<?php
$Blue = 100;
$Red = 200;
?>
<script type="text/javascript" >
var blue = <?php echo $Blue; ?>;
var red = <?php echo $Red; ?> ;
</script>

//myjs.js 文件

alert("Blue is " + blue);
alert("Red is " + red);

并确保 myphp.php 文件中的 javascript 代码在运行 myjs.js 文件中的代码之前执行。

注意:这是为了您的理解,而不是确切的代码。

于 2013-01-04T10:10:58.320 回答
0
tooltip: {

    formatter: function() {
        return ''+
            this.series.name +': '+ (<?php echo $Blue - $Red ?>) +' ('+ this.y +'%)';
    }
},
于 2013-01-04T09:48:48.213 回答
0

hilarudeens为您提供了两种工作解决方案

让我在可用的选项中再添加一个;)

我更愿意(并鼓励每个人也这样做)不要混合我的 JS 和 PHP,总是把你所有的 javascript 放在一个 js 文件中。

在 PHP 中,您可以使用hidden input如下标记

<input type="hidden" 
       value="<?php echo 'Some Value'; ?>" 
       id="hiddenValue" />

这将做的是添加一个输入标签并允许向它添加一个值。

现在在javascript中,您可以从此输入中读取值并将其存储在您的JS变量中

var hiddenValue=$("#hiddenValue").val();

对于您的代码

PHP

<?php
$Blue = ((int)$data[6] -(int)$data[7]);
$Red =  (int)$data[7];
?>
<input type="hidden" 
       value="<?php echo  $Blue; ?>" 
       id="blueValue" />
<input type="hidden" 
       value="<?php echo $Red; ?>" 
       id="redValue" />

JS

 var blue = parseInt($("#blueValue").val());
 var red = parseInt($("#redValue").val());
 ...
 tooltip: {
        formatter: function() {
            return ''+
                this.series.name +': '+ (blue - red) +' ('+ this.y +'%)';
        }
    },
于 2013-01-04T14:50:22.810 回答