2015-06-12 15 views
1

我有一個示例谷歌可視化控制器在這裏this fiddle。我怎樣才能獲得控件的實際選定值? 即,我繪製了控制使用列1,當我選擇了一些東西,我想獲得在列1中的值而不是它的格式化值,如果我選擇CPU,警報應該是1. 我試着用下面的代碼它只返回格式化的值。從谷歌可視化categorywrapper控制得到的實際值

google.visualization.events.addListener(chart, 'ready', function() { 
     if (control.getState().selectedValues.length > 0) { 
      alert(control.getState().selectedValues); 
     }  
    }); 

回答

2

,如下面所示,您會發現選擇行值:

google.visualization.events.addListener(chart, 'ready', function() { 

    var selectedVals = control.getState().selectedValues; 
    var dt = control.getDataTable(); 
    var selectedIds = getFilteredValues(dt,selectedVals);   
    alert(selectedIds); 
});  

其中

function getFilteredValues(dataTable,values){ 
    var result = []; 
    for(i = 0; i< dataTable.getNumberOfRows();i++){ 
     var curVal = dataTable.getValue(i,0); 
     if(values.indexOf(curVal) > -1){ 
      var curId = dataTable.getValue(i,1); 
      result.push(curId); 
     }   
    } 
    return result; 
} 

例子:JSFiddle