我正在使用Morris条形图来显示产品销售情况。我想有一个动态标签(悬停)。我正在通过PHP获取数据。
array('product' => $row['productid'], 'sales'=> $row['freq'], 'name' => $product_name);
我的Jquery代码在这里:
$.getJSON('getdata.php?command=product_sales', function(data)
{
//var product_name = data.name;
Morris.Bar({
element: 'morris-product-sales-chart',
data: data,
xkey: ['product'],
ykeys: ['sales'],
labels: ['Product Name'],
hideHover: 'auto',
resize: true
});
});
如果您注意到,标签被硬编码为"产品名称",但是,我希望它是动态的(PHP中的"名称"属性)。知道怎么做吗?
感谢
我不确定我是否理解正确(在这里寻找其他东西),但这应该有效:
labels: [<?=$name?>]
我使用了类似的方法,从数据库中提取表数据(包括产品名称列表)。
绝对!假设你有一个变量,它有Morris对象
var achart = Morris..Bar({
element: 'morris-product-sales-chart',
data: data,
xkey: ['product'],
ykeys: ['sales'],
labels: ['Product Name'],
hideHover: 'auto',
resize: true
});
});
可以将标签设置为achart.options.labels=,然后重新绘制以呈现更新。