laravel5.5实现下拉菜单点选实时更新数据

laravel5.5实现下拉菜单点选实时更新数据

laravel5.5通过echarts实现画图功能,主要包括3个步骤:1.html设置显示方式;2.引入echarts.js;3.通过js设置图片的展示方式
效果图如下:
这里写图片描述

一、html设置显示方式

这里只保留了主要代码部分。

.
.
.
<div class="box">
    <div class="box-body">
        <div class="page-header">
            <div class="form-horizontal">
                <div class="control-label col-lg-0">
                </div>
                <div class="col-lg-2">
                    <select id="usernum" class="form-control" onchange="selectOnchang(this)">
                        <option value="201804">20184月</option>
                        <option value="201803">20183月</option>
                    </select>
                </div>
            </div>
        </div>
        <div id="lineMain" style="height:800px;"></div>
    </div>
</div>
.
.
.

二、引入echarts.js

<script src="/fadmin/js/echarts.js"></script>
<script src="/fadmin/js/china.js"></script>

三、通过js设置图片的展示方式

这里主要分为3个模块:数据获取(getdata)、echarts设置(option)和事件的反应(selectOnchang)。

<script type="text/javascript">
    function getdata(time){
        $.ajax({
            type : "get",
            async : false,
            url : '/admin/monitor/map/mddata/'+time,
            data : {},
            dataType : "json",
            success : function(result) {
                if(result){
                    $.each(result, function(i, item) {
                        names.push(item.prov_id);
                        nums.push(item.user_num/10000);
                    });
                    myBarChart.hideLoading();    //隐藏加载动画
                    myBarChart.setOption({        //加载数据图表
                        xAxis: {
                            data: names
                        },
                        series: [{
                            // 根据名字对应到相应的系列
                            name: '人数',
                            data: nums
                        }]
                    });
                }

            },
            error : function(errorMsg) {
                //请求失败时执行该函数
                alert("图表请求数据失败!");
                myBarChart.hideLoading();
            }
        })
    }
    function selectOnchang(obj){
        var value = $(obj).val();
        names.splice(0,names.length);//清空之前的数据
        nums.splice(0,nums.length);//清空之前的数据
        // myChart.clear();
        getdata(value);
    }
    var myBarChart = echarts.init(document.getElementById('lineMain'));
    option = {
        color: ['#3398DB'],
        title : {
            text: '各省人数分布'
        },
        tooltip : {
            trigger: 'axis'
        },
        legend: {
            data:['人数']
        },
        toolbox: {
            show : true,
            feature : {
                mark : {show: true},
                dataView : {show: true, readOnly: false},
                magicType : {show: true, type: ['line', 'bar']},
                restore : {show: true},
                saveAsImage : {show: true}
            }
        },
        calculable : true,
        xAxis : [
            {
                type : 'category',
                boundaryGap : true,
                //设置字体倾斜
                axisLabel: {
                   interval:0,
                   rotate:40
                },

                data : []
            }
        ],
        yAxis : [
            {
                type : 'value',
                axisLabel : {
                    formatter: '{value} 万人'
                }
            }
        ],
        series : [
            {
                name:'人数',
                type:'bar',
                data: [], // y轴的数据,由上个方法中得到的ttls
                markPoint:{
                    data:[
                        {type:'average', name:'平均值'}
                    ]
                }
            }
        ]
    };
    myBarChart.setOption(option,true);
    myBarChart.showLoading();
    var names=[];
    var nums=[];
    $(window).on('load', function () {
        var value = $('#usernum').val();
        getdata(value);
    });
</script>

参考文章

https://blog.csdn.net/qq_26525215/article/details/53271455

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yiluohan0307

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值