三、echarts获取图例legeng当前的状态

// 使用刚指定的配置项和数据显示图表。
var selectArr = option.legend.data;
myChart.on('legendselectchanged', function(obj) {
//alert("22");
var selected = obj.selected;
var name = obj.name;

// 使用 legendToggleSelect Action 会重新触发 legendselectchanged Event,导致本函数重复运行
// 使得 无 selected 对象
      if (name == 'Top 5') {
     var flag = $(this).attr('flag');
        // if(flag == 1){
        //     var val = false;
        //     $(this).attr('flag',0);
        //     //$(this).val('全选中');
        // }else{
        //     var val = true;
        //     $(this).attr('flag',1);
        //  //   $(this).val('全不选');
        // }
        var obj = {};
        var temp;
        var val ;
          if(option.legend.selected[name]==true)
        {
            option.legend.selected[name]=false;
        }else{
            option.legend.selected[name]=true;
        }
        for(var key in selectArr){


            //var temp=selectArr[key];
            temp=selectArr[key];
           // alert(temp);
            if(option.legend.selected[selectArr[key]]==true){
                if (selectArr[key]!='Top 5') { alert(selectArr[key]);};
                
        


            }
         // alert(option.legend.selected[selectArr[key]]);
          val=option.legend.selected[selectArr[key]];
           // alert( obj['Top 5']);
           //  alert(selectArr[key]);
          //legendOptions[name]
           obj[selectArr[key]] = val;
             //  alert( obj[selectArr[key]] );
        }    
        option.legend.selected = obj;

        myChart.setOption(option);
    }
    else{
       // alert(name);
        //alert(option.legend.selected[name]);
        var obj = {};
        var temp;
        var val ;
        if(option.legend.selected[name]==true){option.legend.selected[name]=false;}else{option.legend.selected[name]=true;}
        for(var key in selectArr){


            //var temp=selectArr[key];
           // temp=selectArr[key];
          //  alert(temp);
          //alert(option.legend.selected[selectArr[key]]);
          val=option.legend.selected[selectArr[key]];
           // alert( obj['Top 5']);
           //  alert(selectArr[key]);
          //legendOptions[name]
           obj[selectArr[key]] = val;
             //  alert( obj[selectArr[key]] );
        }    
        option.legend.selected = obj;
        myChart.setOption(option);}

});
overlay.setOption(option);

你可能感兴趣的:(三、echarts获取图例legeng当前的状态)