我使用Kendo ui dataviz创建了一个柱状图。在我的程序中,我将把本地Javascript数组变量数据绑定到图表数据源。JSON数据像"3"、"9"、"6"一样被拆分为"396"。我不知道为什么会这样。我的源代码是给打击。请检查并给出解决方案。
来源:
/**************Variable Declaration**********************************/
var eligibilityData = new Array();
eligibilityData = {
mem_status: {
a: 396, b: "56", c: "1125", d: "8423"
}
};
/**************Create Chart**********************************/
function createBarChart(eligibilityData) {
/****** Issue: A value is 396 but it spilted into "3","9","6"************/
$("#Chart1").kendoChart({
theme : $(document).data("kendoSkin") || "default",
dataSource : {
data: JSON.stringify(eligibilityData.mem_status.a),
},
seriesDefaults: { type: "column", },
series : [
{ field: "a", name : "A" }
],
tooltip : { visible: true, },
});
}
本地数据应该以数组的形式传递。不需要调用JSON.stringify
data: [eligibilityData.mem_status]
见:http://docs.kendoui.com/api/framework/datasource configuration-data-Array
JSON.stringify
不做您期望的事情。你的句子真正的作用是:
- 将
number
396转换为string
。 - 将
string
转换为每个元素一个字符的array
。
不确定你定义DataSource
的方式(为什么你想要一个只有一个元素的DataSource
),但如果这真的是你想要的,你可以尝试:
dataSource : {
data: [eligibilityData.mem_status.a]
},
或
dataSource : {
data: [eligibilityData.mem_status]
},