我想在一个基于zend框架的系统中创建一个条形图,我发现这个jqPlot是一个很好的方法。但是我无法理解如何使用MVC布局来映射它,我又如何使用数组将从zend模型中提取的数据传递给zend视图中的javascript函数?我尝试了很多方法,但无法获得所需的结果。
答案 0 :(得分:0)
您可以将AJAX data renderer用于jqPlot。然后,您应该在逻辑/模型类中生成数据,并通过从控制器操作中检索数据来获取数据。
<div id="sharechart"></div>
(不要忘记包含jqPlot所需的脚本)
<script type="text/javascript">
var ajaxShare = function() {
var data = null;
$.ajax({
async: false,
url: '<?php echo $this->baseUrl(); ?>/charts/getshare',
dataType: 'json',
success: function(response) {
data = response;
},
});
return data;
};
$.jqplot('sharechart', {
title: '<h1>Bank share</h1>',
seriesDefaults: {
renderer: $.jqplot.PieRenderer,
rendererOptions: {
showDataLabels: true,
dataLabels: 'label',
}
},
legend: { show:true, location: 'e' },
dataRenderer: ajaxShare,
});
</script>
public function getshareAction()
{
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$logic = new My_Charts();
$shareArray = $logic->getShareData();
echo json_encode(array($shareArray));
}