Я дал ему шанс, но я не смог этого сделать. Я начал с этого примера , затем добавил:
grid: { clickable: true },
прямо над строкой "pie: {". Затем я добавил функцию plotclick в конце:
$("#placeholder").bind("plotclick", function (event, pos, item) {
alert('click!');
for(var i in item){
alert('my '+i+' = '+ item[i]);
}
});
Вы увидите «клик!» сообщение, но "item" не имеет свойств.
Я думал, что вы просто добавите URL-адреса к объектам данных, а затем перенаправите браузер на соответствующий URL-адрес из функции plotclick. Если вы разберетесь, мне было бы интересно узнать!
Обновление: Вот кое-что, что может сработать - он просто превращает ярлыки в ссылки. Поместите URL-адреса в свои данные так:
$.plot($("#placeholder"), [
{ label: "Serie1", data: 10, url: "http://stackoverflow.com"},
{ label: "Serie2", data: 30, url: "http://serverfault.com"},
{ label: "Serie3", data: 90, url: "http://superuser.com"},
{ label: "Serie4", data: 70, url: "http://www.google.com"},
{ label: "Serie5", data: 80, url: "http://www.oprah.com"},
{ label: "Serie6", data: 110, url: "http://www.realultimatepower.net/"}
],
Затем установите labelFormatter на что-то вроде:
return '<a href="'+serie.url+'">'+serie.label+'</a><br/>'+Math.round(serie.percent)+'%';
Щелчок в самих дольках пирога все же ничего особенного не делает.