var randomColorFactor = function() {
return Math.round(Math.random() * 255);
};
var randomColor = function(opacity) {
return 'rgba(' + randomColorFactor() + ',' + randomColorFactor() + ',' + randomColorFactor() + ',' + (opacity || '.3') + ')';
};
var config = '<div id='humidity'>'{
type: 'line',
data: {
labels: <?php echo $json_array1; ?>,
datasets: [{
label: "",
data: <?php echo $json_array; ?>,
}]
},
options: {
responsive: true,
title:{
display:true,
text:'Chart'
},
tooltips: {
mode: 'label',
callbacks: {
}
},
hover: {
mode: 'dataset'
},
scales: {
xAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Month'
}
}],
yAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Humidity'
},
ticks: {
suggestedMin: -10,
suggestedMax: 250,
}
}]
}
}
};
$.each(config.data.datasets, function(i, dataset) {
dataset.borderColor = randomColor(0.4);
dataset.backgroundColor = randomColor(0.5);
dataset.pointBorderColor = randomColor(0.7);
dataset.pointBackgroundColor = randomColor(0.5);
dataset.pointBorderWidth = 1;
});
window.onload = function() {
var ctx = document.getElementById("canvas").getContext("2d");
window.myLine = new Chart(ctx, config);
};
在此代码中,我想在鼠标单击时将$json_array
更改为其他数组$json_array2
。我怎样才能实现它? $json_array
包含从数据库中提取的值。
答案 0 :(得分:1)
PHP 是服务器端, jQuery (JS)是客户端语言,你可以' t在执行后更改PHP变量。
您可以使用 AJAX 来加载新数据。
答案 1 :(得分:1)
您无法通过鼠标单击直接在PHP中更改变量,PHP在您的服务器中运行,您只能访问PHP代码,直到它在您的服务器中运行并返回响应(通常是HTML)。
如果你想将数据发送到后端(可能存储在数据库中),你可以用Ajax来做。
以下是一些很棒的教程: http://www.w3schools.com/jquery/jquery_ajax_intro.asp http://blog.teamtreehouse.com/beginners-guide-to-ajax-development-with-php