【发布时间】:2014-03-09 21:55:10
【问题描述】:
好的,我正在使用 C# 中的 MVC4,我必须用视图模型中的元素填充一个 javascript 数组。我正在尝试动态填充 Chart.js 饼图。这是我的示例代码:
<script src="~/Scripts/Chart.js"></script>
<script type="text/javascript">
var data = [
{
value: 30,
color: "#F38630"
},
{
value: 50,
color: "#E0E4CC"
},
{
value: 100,
color: "#69D2E7"
}
]
//Get the context of the canvas element we want to select
var ctx = document.getElementById("myChart").getContext("2d");
var myNewChart = new Chart(ctx).Pie(data);
//Get context with jQuery - using jQuery's .get() method.
var ctx = $("#myChart").get(0).getContext("2d");
//This will get the first returned node in the jQuery collection.
var myNewChart = new Chart(ctx);
new Chart(ctx).Pie(data, options);
</script>
我希望能够在 for 循环中向 data 数组添加元素。我尝试像这样使用 .push
数据.push([{ 值:30, 颜色:“#F38630” }]);
但它会完全阻止图表的创建。知道我该怎么做:
foreach (var item in Model.List) {
data.add(item.value)
}
【问题讨论】:
-
您将一个 arrya 传递给
data.push(),它只需要实际对象(否则您将获得一个数组数组)。试试data.push({ value: 30, color: "#F38630" });。 -
谢谢,这有助于将对象添加到数组中!!
标签: c# javascript arrays asp.net-mvc-4 razor