你们让我起个名啊
2017-05-19 02:58
采纳率: 42.3%
浏览 1.2k

js判断json中值放入Echarts中的问题

我想要得到tagPos=4的json数据该怎么做?

    var temperature = [];
        var addTime = [];
        var remarks = [];
        var tagPos=[];
        $.ajax({
            type : "post",
            async : true, //异步请求:同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行
            url : "${ctx}/temperature/tblTem/allTem",
            data : {},
            dataType : "json",
            success : function(result) {
                //请求成功时执行该函数内容,result即为服务器返回的json对象
                    //  alert('实时温度系统');

                    for (var i = 0; i < result.length; i++) {
                        temperature.push(result[i].temperature);
                        addTime.push(result[i].addTime);
                        remarks.push(result[i].remarks);
                        tagPos.push(result[i].tagPos);
                    }
                    myChart.setOption({
                        xAxis : [ {
                            data : addTime
                        }, {
                            type : "category",
                            data : remarks
                        } ],
                        series : [ {
                            name : '当前温度',
                            type : 'bar',
                            data : temperature,
                            //画直线
                            markLine : {
                                data : [ {
                                    name : '起始',
                                    xAxis : 0,
                                    yAxis : 55
                                }, {
                                    name : '结束',
                                    value : 40,
                                    xAxis : 0,
                                    yAxis : 40
                                } ],

                            }
                        } ]
                    })
                }

        });     
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 75闪光雷 2017-05-19 04:10
    已采纳

    把你的循环写成下面这个

     for (var i = 0; i < result.length; i++) {
                        if(result[i].tagPos==4){                    
                                    data.push(result[i].temperature);
                                    data.push(result[i].addTime);
                                    data.push(result[i].remarks);
                        }
    
                        }
    

    然后把下面chart数据部分换成data[0],data[1],data[2]

    打赏 评论
  • 75闪光雷 2017-05-19 03:27

    你不是把数据放入tagPos数组了吗?直接取就行了tagPos[4]
    如果你是一组数据包含多个类型,建议做个data[]数组
    data.push(温度,时间,tag)

    打赏 评论
  • Rattenking 2017-05-19 03:37

    你是准备在ajax的外部获取tagPos[4]?
    获取tagPos[4],要保证数组tagPos的长度有那么长,才能获取。
    如果是在外部你想获取,需要将async : true,异步改为async : false,同步。就能在ajax后获取tagPos[4]的值。
    如果是返回函数success的内部获取,直接tagPos[4]就可以获取到值。

    打赏 评论

相关推荐 更多相似问题