牛骨文教育服务平台(让学习变的简单)
博文笔记

tab切换重新渲染Echarts图表

创建时间:2017-06-03 投稿人: 浏览次数:7205

这里为了方便,使用下拉列表代替tab切换

HTML代码

<select id="selectID">
    <option value="day">按天</option>
    <option value="week">按周</option>
    <option value="month">按月</option>
</select>
<div id="main" style="width: 600px;height:400px;"></div>

JavaScript代码

//walden为echarts主题,_.flatten为underscore.js提供的数组扁平化方法
var myChart = echarts.init(document.getElementById("main"), "walden");

//封装_ajax方法,每次切换时发起get请求,获取相应的json文件,请求成功后渲染echarts
function _ajax(url) {
    $.ajax({
        type: "get",
        url: url,
        success: function(res) {
            option = {
                xAxis: {
                    data: res.series
                },
                yAxis: {},
                series: [{
                    name: "销量",
                    type: "line",
                    data: _.flatten(res.rows[0].values)
                }]
            };
            myChart.setOption(option);
        }
    });
}

$(function() {
    _ajax("data/day.json");
    $("#selectID").change(function() {
        var selectValue = $("#selectID").val();
        switch(selectValue){
            case "day":
               _ajax("data/day.json");
               break;
            case "week":
               _ajax("data/week.json");
               break;
            default:
               _ajax("data/month.json"); 
        }
    });
});

week.json

{
    "series":[
        "05-01",
        "05-08",
        "05-15",
        "05-22",
        "05-29"
    ],
    "rows":[
        {
            "values":[
                [13174],
                [13486],
                [13816],
                [13832],
                [11374]
            ]
        }
    ]
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。