echarts 点击事件
下面分享一下,给echarts的报表添加事件,并通过事件获取点击到的数据:
1、初始化:
require.config({ packages: [ { name: "echarts", location: "../../JavaScript/echarts", main: "echarts" }, { name: "zrender", location: "../../JavaScript/zrender",// zrender与echarts在同一级目录 main: "zrender" } ] }); require( [ "echarts", "echarts/chart/bar", "echarts/chart/pie" ], function (ec) { var myChart_Category = ec.init(document.getElementById("div_pieCategory")); var myChart_State = ec.init(document.getElementById("div_pieState")); var myChart_Bar = ec.init(document.getElementById("div_bar")); SetStatisticsByCategory(ec, myChart_Category); SetStatisticsByState(ec, myChart_State); SetStatisticsByBeginTime(ec, myChart_Bar); //设置点击事件 var ecConfig = require("echarts/config"); myChart_Category.on(ecConfig.EVENT.PIE_SELECTED, function (param) { var selected = param.selected; //deBugger; var serie serie = optionpie_category.series[0]; if (jQuery.inArray(true, selected[0]) > -1) { for (var i = 0; i < serie.data.length; i++) { if (selected[0][i]) { $("#hid_category").val(serie.data[i].name); } } } else { $("#hid_category").val(""); } GetList(true); }) myChart_State.on(ecConfig.EVENT.PIE_SELECTED, function (param) { var selected = param.selected; var serie; serie = optionpie_state.series[0]; if (jQuery.inArray(true, selected[0]) > -1) { for (var i = 0; i < serie.data.length; i++) { if (selected[0][i]) { $("#hid_state").val(serie.data[i].name); } } } else { $("#hid_state").val(""); } GetList(true); }) myChart_Bar.on(ecConfig.EVENT.CLICK, function (param) { var selected = param; var xAxis; xAxis = optionpie_bar.xAxis[selected.seriesIndex]; for (var i = 0; i < xAxis.data.length; i++) { if (i == selected.dataIndex) { if ($("#hid_date").val() != xAxis.data[i]) { $("#hid_date").val(xAxis.data[i]); } else { $("#hid_date").val(""); } GetList(true); } } }) } )
说明:
1、设置时间需要引用config.js :var ecConfig = require("echarts/config");
2、饼图的数据获取很简单:饼图点击事件:ecConfig.EVENT.PIE_SELECTED
饼图的数据:var selected = param.selected;
3、柱状图:ecConfig.EVENT.CLICK
在获取数据的时候,设置了一个隐藏域放置已经点击的数据。
var selected = param; var xAxis; xAxis = optionpie_bar.xAxis[selected.seriesIndex]; for (var i = 0; i < xAxis.data.length; i++) { if (i == selected.dataIndex) { if ($("#hid_date").val() != xAxis.data[i]) { $("#hid_date").val(xAxis.data[i]); } else { $("#hid_date").val(""); } GetLawCaseList(true); } }
转发注明:IT分享 http://www.suchso.com
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: echarts添加点击事件
- 下一篇: Echarts使用一:在地图上将特定城市显示高亮