2017-12-10 5 views
0

Ich bleibe stecken, wenn ich versuche, mein Ergebnis oder Wert von Funktion auf Javascript auf das Diagramm zu drucken. Dies ist, wie ich meine Funktion von JavaScript-Aufruf:Wie bekomme ich einen Wert von der Funktion Javascript und drucken Sie es auf das Diagramm

<script type="text/javascript"> 
$(document).ready(function(){ 
      var testModel = id3(examples_personality,'kepribadian',features_personality); 
      document.getElementById("akurasi").innerText = calcError(samples_personality,testModel,'kepribadian'); 
}); 

</script> 

und ich versuche, das Ergebnis so drucken:

<span id='akurasi'></span> 

es ist gut funktionieren, wenn ich es auf HTML verwenden, zeigt der Wert, aber wenn ich versuche, für das Diagramm zu verwenden, funktioniert es nicht. dies ist mein Code Diagramm:

// Data Training Chart 
new Chart(document.getElementById("Data-Training-chart"), { 
    type: 'polarArea', 
    data: { 
     labels: ["Data Training (%)", "Data Testing (%)"], 
     datasets: [ 
     { 
      label: "jumlah ", 
      backgroundColor: ["#3e95cd", "#ff4137"], 
      data: [<span id='akurasi'></span>,100] 
     } 
     ] 
    }, 
    options: { 
     legend: { display: false }, 
     title: { 
     display: true, 
     text: 'Data Training' 
     } 
    } 
}); 

Informationen I chartjs für das Diagramm aus dieser Verwendung: Link chart

Antwort

0

Da diese doc-side heißt Sie verwenden, um ein Array von Datenpunkten (Zahlen), aber in Ihrem data das erste Element ist keine Zahl:

data: [<span id='akurasi'></span>,100] 

Sie diesen Wert durch die Verwendung getElementById zum Beispiel abfragen können:

data: [+document.getElementById("akurasi").innerText,100] 

Es sollte funktionieren, wenn Ihre calcError Funktion einen numerischen Wert zurückgibt, es zu zeigen mit akurasi:

<span id='akurasi'>35</span> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
 

 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 

 
<head> 
 
    <title>Hello!</title> 
 
</head> 
 

 
<body> 
 

 
<canvas id="chart" width="100" height="100"></canvas> 
 
<span id='akurasi'></span> 
 

 
</body> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.bundle.js"></script> 
 

 
<script type="text/javascript"> 
 

 
$(document).ready(function(){ 
 
      // ... 
 
      document.getElementById("akurasi").innerText = 35; 
 
      
 
      var chart = setupChart(); 
 
      // you can do whatever you want with this chart here... 
 
      
 
}); 
 

 
function setupChart(){ 
 

 
    return new Chart(document.getElementById("chart"), { 
 
     type: 'polarArea', 
 
     data: { 
 
      labels: ["Data Training (%)", "Data Testing (%)"], 
 
      datasets: [ 
 
      { 
 
       label: "jumlah ", 
 
       backgroundColor: ["#3e95cd", "#ff4137"], 
 
       data: [+document.getElementById("akurasi").innerText,100] 
 
      } 
 
      ] 
 
     }, 
 
     options: { 
 
      legend: { display: false }, 
 
      title: { 
 
      display: true, 
 
      text: 'Data Training' 
 
      } 
 
     } 
 
    }); 
 

 
} 
 

 
</script> 
 
</html>

Hoffnung, das hilft.

+0

Ich versuche es, aber wenn ich es ausführen und ich inspect Element, der Code immer noch als "+ document.getElementById (" akurasi "). InnerText," nicht der Wert der Funktion calcError. der Wert absolut numerischer Wert, weil ich versuche, es zum HTML-Code zu drucken und es zu zeigen. –

+0

Haben Sie Ihr Diagramm nach $ (Dokument) .ready gefeuert? Ich habe gerade ein Beispiel angegeben, um zu zeigen, dass getElementById funktionieren sollte. – Blauharley

+0

es funktioniert, weil Sie einen Wert für diese 35 haben, aber wenn ich es einfach so versuche (weil der Wert von get von diesem: document.getElementById ("akurasi"). innerText = calcError (samples_persönlichkeit, testModel, 'kepribadian');) aber es funktioniert nicht. –

Verwandte Themen