Это более распространенная проблема. Мы используем замыкания в цикле (для или во время), и оно всегда сохраняет последнее значение приращения.
Вам просто нужно вернуть функцию, когда вы делаете следующий цикл:
for (var i = 0; i < chart.series[0].data.length; i++) {
......
}
Этот код должен решить вашу проблему:
.on('click', function(i) {
return function () {
alert(" image:"+i);
}
}(i))
Вот решение: http://jsfiddle.net/jnjqt/42/