JSChart 后台返回的数据怎么放到Array里

HappyKeKe 2011-01-24 03:00:56
后台返回的数据 result.data = ['2005',2]-['2006',1]-['2007',3]-['2008',6] ,然后

var obj = result.data.split("-");
var myData = new Array();
for (i = 0; i < obj.length; i++)
{
myData[i] = obj[i];
}
var myChart = new JSChart('graph', 'bar');
myChart.setDataArray(myData);


老是弹出窗口说 Input data in wrong format for selected chart type
可是我如果

var myData = new Array();
myData[0] = ['2005', 2];
myData[1] = ['2006', 1];
myData[2] = ['2007', 3];
myData[3] = ['2008', 6];
var myChart = new JSChart('graph', 'bar');
myChart.setDataArray(myData);

这样就对,不是一样的吗???

还有 result.colors = ['#7979DB', '#7952E9', '#792BC8', '#792BA1']

这样myChart.colorizeBars(result.colors);就不对,
myChart.colorizeBars(['#7979DB', '#7952E9', '#792BC8', '#792BA1']);这样就对

这个数据要怎么包装啊
...全文
298 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingbridge208 2013-05-03
  • 打赏
  • 举报
回复
能否发下你的源码。分享下。好吗,大哥
hdh8801863 2011-05-26
  • 打赏
  • 举报
回复
主要是这个二维数组里面的元素必须转换成数字的顺便我给一下我成功代码
$.ajax({
url: '<%=ResolveUrl( "~/Common/StockChange.ashx")%>?id=3',
type:'get',
datatype : "json",
cache:false,
success : function(data){
var animal2=eval('(' + data + ')');
var myData=new Array();
$.each(animal2.result,function(idx,item){
if(idx==0){
return true;//同countinue,
}
myData[idx]=new Array();
myData[idx][0]=item.StockID*1;///二维数组里面的元素必须转换成数字的
myData[idx][1]=item.StockPrice*1;///二维数组里面的元素必须转换成数字的

});
var my =new Array();
/////去掉多余的空对象转成新二维数组
for(var i=1;i<=myData.length-1;i++){

my[i-1]=new Array();
for(var j=0;j<myData[i].length;j++){

my[i-1][j]=myData[i][j];

}
}



var myChart = new JSChart('graph', 'line');
myChart.setDataArray(my);
HappyKeKe 2011-01-24
  • 打赏
  • 举报
回复
我后台返回的就是JSon格式啊
{"barValues":"true","colors":"['#7979DB', '#7952E9', '#792BC8', '#792BA1']","data":"['2005',2]-['2006',1]-['2007',3]-['2008',6]"}
郭大侠_ 2011-01-24
  • 打赏
  • 举报
回复
myData[0] = ['2005', 2];

myData[0] = "['2005', 2]";
当然不一样了,['2005', 2]是对象,"['2005', 2]" 是字符串
将字符串转换成对象可以用 eval 方法。
如:
var s="['2005', 2]";
var obj=eval(s);
alert(obj[0]);
你测试这三句就明白了!
yuanzhaofu01 2011-01-24
  • 打赏
  • 举报
回复
建议 后台返回个JSON好了,那样处理起来会更方便 些》。
yhtapmys 2011-01-24
  • 打赏
  • 举报
回复
加个引号试一试
result.data = "['2005',2]-['2006',1]-['2007',3]-['2008',6]"

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧