2016-03-30 7 views
5

Ich habe ein AmPechart mit verschiedenen Scheiben. Ich möchte verschiedene Aktionen für einzelne Klicks jedes Segments ausführen.Handle verschiedene Klicks von Ampiechart Scheiben

PieChart.addListener("clickSlice", handleClickPie); 

function handleClickPie(e) { 

     } 

Ich möchte wie etwas tun:

Wenn ClickSliceNo == 1: Action1

Wenn ClickSliceNo == 2: Action2

Wenn ClickSliceNo == 3: Action3

Wie handhabe ich das in der handleClickPie() Funktion?

+0

Es Gefunden: e.dataItem.value == "SliceName" –

Antwort

1

Ja, wie Sie in Ihrem Kommentar notiert haben, können Sie auf die Eigenschaften des Segmentelements zugreifen und diese Eigenschaften dann so behandeln, wie Sie es für richtig halten. Hier

ein Beispiel:


JS

var chart = AmCharts.makeChart("chartdiv", { 
    "type": "pie", 
    "theme": "light", 
    "dataProvider": [{ 
     "country": "Lithuania", 
     "litres": 501.9 
    }, { 
     "country": "Czech Republic", 
     "litres": 301.9 
    }, { 
     "country": "Ireland", 
     "litres": 201.1 
    }, { 
     "country": "Germany", 
     "litres": 165.8 
    }, { 
     "country": "Australia", 
     "litres": 139.9 
    }, { 
     "country": "Austria", 
     "litres": 128.3 
    }, { 
     "country": "UK", 
     "litres": 99 
    }, { 
     "country": "Belgium", 
     "litres": 60 
    }, { 
     "country": "The Netherlands", 
     "litres": 50 
    }], 
    "valueField": "litres", 
    "titleField": "country", 
    "balloon": { 
     "fixedPosition": true 
    }, 
    "listeners": [{ 
     "event": "clickSlice", 
     "method": myCustomClick 
    }] 
}); 

function myCustomClick(e) { 
    // to see the full api, log out "e" 
    // console.log(e); 
    var country = e.dataItem.dataContext.country; 
    if (country === "Lithunia") { 
     alert("Lithuania: the home of amCharts."); 
    } else if (country === "Germany") { 
     alert("Munich is a city in Germany."); 
    } else if (country === "Austria") { 
     alert("Skiing in Austria is awesome."); 
    } else { 
     alert("You have clicked " + country + "."); 
    } 
} 

CSS

#chartdiv { 
    width: 100%; 
    height: 500px; 
    font-size: 11px; 
} 

HTML

<div id="chartdiv"></div>