1. 程式人生 > >tab切換重新渲染Echarts圖表

tab切換重新渲染Echarts圖表

這裡為了方便,使用下拉列表代替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]
            ]
        }
    ]
}