Es treten Probleme auf, wenn mehrere Graphen auf einer Seite angezeigt werden.Mehrere Liniendiagramme auf einer Seite anzeigen
In meinem html/php Vorlage Ich habe folgende
<?php
foreach($charts as $chart) {
echo '<canvas class="chart" id="'.$chart['id']" width="700" height="200"></canvas>';
}
?>
Meine Javascript-Datei ist wie folgt:
$().ready(function()
{
$('.chart').each(function() {
var $this = $(this);
create_plot($this);
});
});
function create_plot($this, mode)
{
if(!$this) return;
var plot = $this.data('my_plot');
if(plot) {
plot.destroy();
$this.removeData('my_plot');
}
var data = {data-in-here};
var ctx = document.getElementById($this.attr('id'));
var plot = new Chart(ctx, {
type: 'line',
data: data,
});
$this.data('my_plot', plot);
}
Das Problem ist, dass, wenn es zwei Diagramme in der Schleife, die gleiche Daten werden in beiden Diagrammen angezeigt.
Ich bin sehr sehr neu zu JS, also ich habe das alles falsch.
Aber es scheint, dass die plot.destroy nichts tut.
Wenn jemand irgendeinen Einblick hat, würde ich es sehr schätzen.
Bitte beachten Sie ["Sollten Fragen enthalten" Tags "in ihren Titeln?"] (Http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-the-titles), wo Der Konsens ist "Nein, sollten sie nicht"! –
Sie sollten die Quelle Ihres HTML-Codes anzeigen, um sicherzustellen, dass Elemente unterschiedliche IDs erhalten – Skarlinski