我想用django-chartit图表来处理事件,而bellow是python代码。
def basicpie(request, title, code, doc, sidebar_items):
def monthname(month_num):
names ={1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'May', 6: 'Jun',
7: 'Jul', 8: 'Aug', 9: 'Sep', 10: 'Oct', 11: 'Nov', 12: 'Dec'}
return names[month_num]
ds = DataPool(
series=
[{'options': {
'source': MonthlyWeatherByCity.objects.all()},
'terms': [
'month',
'boston_temp']}
])
cht = Chart(
datasource = ds,
series_options =
[{'options':{
'type': 'pie',
'stacking': False},
'terms':{
'month': [
'boston_temp']
}}],
chart_options =
{'title': {
'text': 'Monthly Temperature of Boston'},
'plotOptions': {
'series': {
"cursor": "pointer",
'point': {
'events': {
'click': 'function() {alert(\'clicked\');}'
}
}
}
}
},
x_sortf_mapf_mts = (None, monthname, False))
return render_to_response('chart_code.html', {'chart_list': cht,
'code': code,
'title': title,
'doc': doc,
'sidebar_items': sidebar_items})
和django-chartit的javascript代码
$(document).ready(function() {
$.each(_chartit_hco_array, function(index, chartoptions) {
chart = new Highcharts.Chart(chartoptions);
});
});
但是当我点击图表时出现以下错误。
Uncaught TypeError: Object function() {alert('clicked');} has no method 'apply'.
请帮我解决这个问题。
答案 0 :(得分:3)
Highcharts需要一个click param函数,并且你传递一个字符串。
改为使用
'events': {
'click': function() {
alert("clicked");
}
}
Here是Highcharts中的文档。