Ich verwende Highchart, damit der Benutzer die Diagrammseite schließen und öffnen und das Diagramm neu zeichnen kann. In einigen Fällen gibt er mir diesen Fehler, wie kann ich ihn beheben. Danke. Hier ist mein Code
function populateGraph(graph1data1,graph1data2,id,time,bottomText,tickinterval){
$(function () {
$('#'+id).highcharts({
chart: {
type: 'line'
},
xAxis: {
tickWidth: 0,
categories: ['1,2,3,4']
},
yAxis: {
gridLineColor: '#fff',
title: {
text: ''
},
labels: {
formatter: function() {
return '';
}
}
},
navigation: {
buttonOptions: {
enabled: false
}
},
series: [{
name: 'This ',
data: [1,2,3,4],
color: '#1e71ef'
}, {
name: 'Last ',
data: [5,6,7,8],
color:'#dfe0e1'
}]
});
});
}
}
function loadOnlineDashboardChannel(channel){
$.ajax({
type: "get",
dataType: 'html',
data: {},
url: "/companies/2/online_dashboard_channel",
success: function(data, status){
var obj = JSON.parse(data);
var template_data = {
measures_list:
obj.measures
};
$(function() {
var tmplHTML_measures="{{#measures_list}} <div class="col-lg-11 col-lg-offset-1"><p class="indicator-title gray-bottom-border">{{name}}</br></p><div><p><span class="font30px">{{total}} </span> Total {{name}}<br><span class="green-text">{{increase}}%</span> from last <span class="metric_time"></span></p></div><div class="graph-header"><h3>{{this_interval}} </h3><p>New {{name}}</p><p class="percentage-graph green-text">{{percentag e}}%<p></div><div id={{graph_id}} class="graph"></div> </div>{{/measures_list}}";
Handlebars.render = function(tmpl, data){data = data || {};return Handlebars.compile(tmpl)(data);};
$("#template").empty().append(Handlebars.render(tmplHTML_measures,template_data) );
var data_graph;
for ( var i = 0; i < obj.measures.length; i++ ) {
data_graph=obj.measures[i];
populateGraph(data_graph.this_interval_detail,data_graph.last_interval_detail,data_graph.graph_id,time,obj.bottom_graph_text,parseInt($('#timeframe-select').find(":selected").attr('interval')) );
}
})
},
error: function(error) {
}
});
return this;
};
Ich verwende handlebar, also erstelle ich in diesem Teil in var tmplHTML_measures das div, in dem for rufe ich die Funktion auf, um das Diagramm zu zeichnen.
Danke, ich wiederhole, manchmal funktioniert es perfekt und manchmal schlägt es fehl, gibt mir den Fehler # 13
Hallo, ich ändere meinen Beitrag und füge etwas Code hinzu. Manchmal funktioniert es und manchmal nicht, die Element-ID ist in Ordnung, danke
– Marion
3. Februar 2014 um 20:23 Uhr
Wenn Highcharts diesen Fehler auslöst, dann der Jquery-Selektor
$('#id')
gibt nichts zurück. Meine Vermutung wäre gewesen, dass du deine nicht hattest.highcharts
Anruf verpackt in a$(function ()
aber im obigen Code haben Sie das. Obwohl Sie ein Extra haben}
am Ende gehört das nicht dazu. Sind Sie sicher, dass die Div-ID eindeutig ist?id="id"
scheint eine schlechte Namenskonvention zu sein.– Markieren
4. Februar 2014 um 0:39 Uhr
Ja, meine ID ist eindeutig, ich erstelle sie dynamisch mit einem eindeutigen Namen, dafür verwende ich die Lenkstange
– Marion
4. Februar 2014 um 13:47 Uhr
Sie müssen also auch diesen Namen in Highcharts haben, die ID von div muss mit dem Namen des Selektors übereinstimmen, den Sie zum Erstellen von Highcharts verwenden
– Sebastian Bochan
4. Februar 2014 um 14:03 Uhr