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)