使用的JS插件是
<script src="@Url.Content("~/Content/js/highcharts.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Content/js/modules/exporting.js")" type="text/javascript"></script>里面有个参数是添加 条形图的标识的
 chart = new Highcharts.Chart({
           ....             xAxis: {
                categories: [strs[0], strs[1], strs[2], strs[3], strs[4], strs[5], strs[6], strs[7], strs[8], strs[9]],
                title: {
                    text: null
                }
            },
请问 这边categories这里只能这样一个一个写死吗?万一数组数量不固定呢.还是说可以FOR添加.或者直接写成STRING..2个方法我都试过,失败了...不知道是不是语法问题..求大大,有人会解决吗?

解决方案 »

  1.   

    [strs[0], strs[1], strs[2], strs[3], strs[4], strs[5], strs[6], strs[7], strs[8], strs[9]]
    这本身就是一个数组啊动态完全是可以的

    var x =[];
    for(i=0;<10;i++)
    x.push(strs[i])categories: x,
      

  2.   

    你这个数据长度不固定多少是吧?
    categories 这个需求的本事就是一个数组
    所以你可以在上面把你需要显示出来的数据先取出来放入数组中
    <script type="text/javascript">
    var chart;
    var arr = [1, 2, 3, 4, 5];//这个数组我随便写个死例子,具体有多少个你可以动态生成
    然后在下面代码中直接
    categories:arr 
      

  3.   

    js里面数组主要有两种写法
    var arr=new Array();
    这种写法可以用for循环添加成员
    for(var i=0;i<=5;i++)
    {
      arr.push(i);
    }var arr=[0,1,2,3,4,5];
    这也是数组的写法,结果与上面的是完全一样,只是这种不好用循环添加只要是符合格式的数组就可以,管你用的什么写法