Javascript 将数据作为js变量传递给highchart
我有一个关联的php数组(field_data),我想使用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)函数。并将变量设置
json_encode
函数将其传递给JS:$jArray=json_encode($field_data)代码>
我正在JS中接收数组:var irbrowser=但是在js中,当我想将jArray中的值设置为饼图数据时,它不会呈现任何内容
<?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
}]
}]