我正在使用Morris JS来显示折线图。
我有一个带静态值的JavaScript文件
$(function() {
Morris.Line({
element: 'morris-line-chart',
data:
[
{ year: '2015', a: 20 },
{ year: '2016', a: 25 },
{ year: '2017', a: 40 },
],
xkey: 'year',
ykeys: ['a'],
labels: ['Equity Partners ']
});
我期待着我能做到
$(function() {
Morris.Line({
element: 'morris-line-chart',
data:
[
{ year: '2015', a: <?php echo $_POST["AmericanIndian_EP"]; ?> },
{ year: '2016', a: <?php echo $_POST["AmericanIndian_A"]; ?> },
{ year: '2017', a: <?php echo $_POST["AmericanIndian_C"]; ?> },
],
xkey: 'year',
ykeys: ['a'],
labels: ['Equity Partners ']
});
获取PHP值我在提交表单后使用PHP的POST,并将其显示在JavaScript表数据上。但是,它会在我的PHP输入上引发错误。
基本上,我想知道如何在我的JavaScript文件中输入PHP?
答案 0 :(得分:0)
您可以使用javascript提交表单
$('#form').submit(function(){
$.ajax({
url: $('#form').attr('action'),
type: 'POST',
data : $('#form').serialize(),
success: function(data){
// data here should have the new values for your chart
console.log('form submitted.');
}
});
return false;
});
答案 1 :(得分:0)
根据Morris.Line
的预期数据,您需要使用json_encode()
将整个对象提供给javascript,以便所有内容都自动转义以供JS使用。
...
element: 'morris-line-chart',
data: <?php json_encode(
[
['year'=>'2015','a'=>$_POST["AmericanIndian_EP"]],
['year'=>'2016','a'=>$_POST["AmericanIndian_A"]],
['year'=>'2017','a'=>$_POST["AmericanIndian_C"]]
]
); ?>,
xkey: 'year',
...