我正在研究jqplot图表。 图表的直到数据用逗号分割我在渲染图表时没有任何问题。
在将动态数据放入图表之前,我有脚本
<script type="text/javascript">
$(document).ready(function () {
var data = [
['Test1', 230], ['Test2', 330], ['Test3', 430], ['Test4', 530], ['Test5', 630]
];
var plot1 = jQuery.jqplot('chart1', [data],
{
seriesDefaults: {
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
showDataLabels: true
}
},
legend: { show: true, location: 'e' }
}
);
});
</script>
看起来像 -
投放动态数据后
@model List<Myapplication.models.mytable>
@for (int i = 0; i < Model.Count; i++) {
<script type="text/javascript">
$(document).ready(function () {
var data = [
['@Model[i].AccountHead', '@Model[i].AccID']
];
var plot1 = jQuery.jqplot('chart1', [data],
{
seriesDefaults: {
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
showDataLabels: true
}
},
legend: { show: true, location: 'e' }
}
);
});
</script>
}
现在它绘制图表但重叠每个条目,看起来很奇怪 -
一种方法是用'逗号'拆分数据数组,所以我试过 -
var data = [
['@Model[i].AccountHead', '@Model[i].AccID']
];
var splitdata= data.split(',');
var plot1 = jQuery.jqplot('chart1', splitdata,
{
seriesDefaults: {
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
showDataLabels: true
}
},
legend: { show: true, location: 'e' }
}
);
});
但拆分数组并不适合我。
如何以jQuery或其他任何方式拆分数组?
我的应用程序是在ASP.NET MVC4 Razor中构建的。
答案 0 :(得分:1)
<script type="text/javascript">
$(document).ready(function ()
{
pieData();
});
function pieData()
{
var data =[];
for(int i = 0; i <@Model.Count; i++)
{
data.push(['@Model[i].AccountHead', '@Model[i].AccID']);
}
var plot1 = jQuery.jqplot('chart1', [data],
{
seriesDefaults: {
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
showDataLabels: true
}
},
legend: { show: true, location: 'e' }
});
}
</script>
希望它适合你。
答案 1 :(得分:0)
数组定义错误。
尝试此尝试:
var splitdata= [];
splitdata[ 0 ] = '@Model[i].AccountHead';
splitdata[ 1 ] = '@Model[i].AccID';
或..
var splitdata= new Array( '@Model[i].AccountHead', '@Model[i].AccID');
var splitdata= [ '@Model[i].AccountHead', '@Model[i].AccID' ];
希望它有所帮助..