Javascript 将数据作为js变量传递给highchart

Javascript 将数据作为js变量传递给highchart,javascript,php,Javascript,Php,我有一个关联的php数组(field_data),我想使用json_encode函数将其传递给JS:$jArray=json_encode($field_data) 我正在JS中接收数组:var irbrowser= $jArray=json_encode($field_data); ; 试一试 $jArray=json\u encode($field\u data); ?> var=; 我发现了问题。 应将其转换为浮动。所以我使用了parseflote(irbrowser)函数。并将变量设置

我有一个关联的php数组(field_data),我想使用
json_encode
函数将其传递给JS:
$jArray=json_encode($field_data)
我正在JS中接收数组:
var irbrowser=
 <?php
        $jArray = json_encode($field_data);
?>

<div dir="ltr" id="container"> </div>

<script>
    var irbrowser = <?php echo $jArray; ?>;

    $(function () {
    $('#container').highcharts({
        chart: {
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false,
            type: 'pie'
        },
        title: {
            text: 'Browser market shares'
        },
        tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                    style: {
                        color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                    }
                }
            }
        },
        series: [{
            name: "Brands",
            colorByPoint: true,
            data: [{
                name: "IE",
                y: irbrowser.IE
            }, {
                name: "Chrome",
                y: irbrowser.Chrome,
                sliced: true,
                selected: true
            }, {
                name: "Proprietary or Undetectable",
                y: irbrowser.Other
            }]
        }]
    });
});

 </script>

var=;
$(函数(){
$(“#容器”)。高图({
图表:{
plotBackgroundColor:null,
plotBorderWidth:null,
影子:错,
键入:“馅饼”
},
标题:{
文字:“浏览器市场份额”
},
工具提示:{
pointFormat:“{series.name}:{point.percentage:.1f}%”
},
打印选项:{
馅饼:{
allowPointSelect:true,
光标:“指针”,
数据标签:{
启用:对,
格式:“{point.name}:{point.percentage:.1f}%”,
风格:{
颜色:(Highcharts.theme&&Highcharts.theme.ContractTextColor)| |“黑色”
}
}
}
},
系列:[{
名称:“品牌”,
colorByPoint:对,
数据:[{
名称:“IE”,
y:irbrowser.IE
}, {
名称:“Chrome”,
y:irbrowser.Chrome,
切碎:是的,
所选:真
}, {
名称:“专有或不可检测”,
y:其他的
}]
}]
});
});

查看脚本的前几行

第1行停止PHP解释器

第2行您尝试了一行PHP

第3行启动PHP解释器

第4行+您尝试在PHP节中输出原始HTML

?>
$jArray=json_encode($field_data);
;
试一试

$jArray=json\u encode($field\u data);
?>
var=;
我发现了问题。 应将其转换为浮动。所以我使用了
parseflote(irbrowser)
函数。并将变量设置为y。那个密码

series: [{
        name: "Brands",
        colorByPoint: true,
        data: [{
            name: "IE",
            y: parseFloat(irbrowser.IE)
        }, {
            name: "Chrome",
            y: parseFloat(irbrowser.Chrome),
            sliced: true,
            selected: true
        }, {
            name: "Proprietary or Undetectable",
            y: 0.5
        }]
    }]

你能试试firebug和console.log(irbrowser)吗?我认为你的json格式不正确,你可以通过它吗?irbrowser是用javascript工作的。因为当我为name(串联)设置irbrowser.IE时,它会在名称标签中显示IE的正确值。但对于yAxis来说,它不起作用!哦对不起,我更正了这个。但问题仍然存在。
        $jArray = json_encode($field_data);
?>

<div dir="ltr" id="container"> </div>

<script>
    var irbrowser = <?php echo $jArray; ?>;
series: [{
        name: "Brands",
        colorByPoint: true,
        data: [{
            name: "IE",
            y: parseFloat(irbrowser.IE)
        }, {
            name: "Chrome",
            y: parseFloat(irbrowser.Chrome),
            sliced: true,
            selected: true
        }, {
            name: "Proprietary or Undetectable",
            y: 0.5
        }]
    }]