Comment créer un lien hypertexte à barres dans le highcharts
J'ai un highcharts qui affiche les données en fonction des données dans ma base de données. Je suis en utilisant le type "bar". Maintenant, je veux que lorsque l'utilisateur clique sur la barre, il vous redirigera vers la page spécifique ou par exemple à un autre site web.J'ai googlé, mais ne pouvait pas obtenir la réponse. Voici le code que j'utilise.
$(function () {
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'bar'
},
title: {
text: 'Historic World Population by Region'
},
subtitle: {
text: 'Source: Wikipedia.org'
},
xAxis: {
categories: ['Africa', 'America', 'Asia', 'Europe', 'Oceania'],
title: {
text: null
}
},
yAxis: {
min: 0,
title: {
text: 'Population (millions)',
align: 'high'
},
labels: {
overflow: 'justify'
}
},
tooltip: {
formatter: function() {
return ''+
this.series.name +': '+ this.y +' millions';
}
},
plotOptions: {
bar: {
dataLabels: {
enabled: true
}
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -100,
y: 100,
floating: true,
borderWidth: 1,
backgroundColor: '#FFFFFF',
shadow: true
},
credits: {
enabled: false
},
series: [{
type: 'bar',
point: {
events: {
click: function(e) {
this.slice();
var clicked = this;
setTimeout(function(){
location.href = clicked.config[2];
}, 500)
e.preventDefault();
}
}
},
data: [['Com',107,'http://www.google.com']]
}]
});
});
});
Quelle est l'erreur ?
OriginalL'auteur Amir Saeed | 2012-10-04
Vous devez vous connecter pour publier un commentaire.
Voici l'url de la documentation sur la façon de le faire: http://api.highcharts.com/highcharts#plotOptions.series.point.events.click
Ici est un bon exemple: http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/plotoptions/series-point-events-click-url/
La partie de votre code, vous souhaitez mettre à jour est ici:
OriginalL'auteur Jamiec
Uncaught TypeError: Object #<Object> has no method 'slice'
C'est l'erreur générée par la ligne suivante.
this.slice();
L'enlever.
démo
La démo ci-dessus va déclencher cliquez sur uniquement pour la série qui vous lier les événements, si vous voulez le lier à toutes les séries utiliser @Jamiec suggestion.
OriginalL'auteur Ricardo Alvaro Lohmann