2017-07-26 2 views
0

Dans mon php, je cours deux déclarations Select différentes et les transmettre à mes tableaux JQuery value et value1 J'ai vérifié que chaque tableau contient des données, dans le bon format, mais mon problème est que ma carte n'est jamais créée. Ce que je veux, c'est que l'ensemble 1 soit une barre et l'ensemble 2 soit une ligne qui montre les mêmes points de données que l'ensemble 1 mais qui est une ligne. J'ai essayé la syntaxe ci-dessous, mais comme aucun graphique n'affiche quelque chose est incorrect?Erreur JavaScript - Uncaught SyntaxError: Numéro inattendu

<script> 
    var ctx = document.getElementById('canvas').getContext('2d'); 
    var chart = new Chart(ctx, {     
     data: { 
      type: 'bar', 
      labels: labelsarr, 
      datasets: [{ 
        label: 'Set 1', 
        data: values, 
        backgroundColor: 'rgba(0, 119, 204, 0.8)', 
       }] 
     }, { 
      type: 'line', 
      datasets: [{ 
        label: 'Set 2', 
        data: values1, 
        backgroundColor: 'rgba(0,119, 208, 0.8)', 
      }] 
     } 
     options: { 
      tooltips: { }, 
      legend: { 
       display: false, 
       position: 'top', 
      }, 
      scales: { } 
     }); 
<script> 

EDIT
J'ai continué à travailler avec la syntaxe, et maintenant je reçois une erreur de

Uncaught SyntaxError: Unexpected number

Ceci est la syntaxe complète, je suis maintenant en utilisant - ce qui erre? Je pense qu'il est quelque chose dans le code JavaScript depuis le chargement de la page tout sauf le tableau

 var ctx = document.getElementById('canvas').getContext('2d'); 
     var chart = new Chart(ctx, { 
     datasets: [{ 
        type: 'bar', 
        labels: labelsarr, 
        label: 'Sample 1', 
        backgroundColor: 'rgba(0, 119, 204, 0.8)', 
        data: [ values ] 
      }, { 
       type: 'line', 
       label: 'Set 2', 
       backgroundColor: 'rgba(0,119, 208, 0.8)', 
       data: [ values 1 ] 
      }, 
      options: { 
       tooltips: { 
        callbacks: { 
         label: function (t, d) { 
          var xLabel = d.datasets[t.datasetIndex].label; 
          var yLabel = t.yLabel >= 1000 ? '$' + t.yLabel.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") : '$' + t.yLabel; 
          return xLabel + ': ' + yLabel; 
         } 
        } 
       }, 
       legend: { 
        display: false, 
        position: 'top', 
        text: 'Sample 2', 
       }, 
       scales: { 
        yAxes: [{ 
          ticks: { 
           beginAtZero: true, 
           callback: function (value, index, values) { 
            if (parseInt(value) >= 1000) { 
             return '$' + value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
            } else { 
             return '$' + value; 
            } 
           } 
          } 
         }] 
       } 
      }, 
      plugins: [{ 
        beforeDraw: function (chart) { 
         var labels = chart.data.labels; 
         labels.forEach(function (e, i) { 
          var bar = chart.data.datasets[0]._meta[0].data[i]._model; 
          var dataPoint = e.split(/\s/)[1]; 
          if (dataPoint === '16') 
           bar.backgroundColor = 'orange'; 
          else if (dataPoint === '17') 
           bar.backgroundColor = 'blue'; 
         }); 
        } 
       }] 
      } 
     }]); 

Répondre

1

Ligne 13: données: [valeurs 1]

L'espace entre valeurs et shouldn » t être là - soit se débarrasser de l'espace tout à fait, vous avez donc:

données: [valeurs1]

Ou

données : [valeurs, 1]

Maintenant, je ne suis pas trop sûr où vous définissez les valeurs de sorte que tout est que je peux suggérer.

De même, il y avait plusieurs autres erreurs de syntaxe (par exemple des parenthèses manquantes). Voici le code complet (en supposant que vous avez un objet graphique):

var chart = new Chart(ctx, { 
 
\t \t \t datasets: [{ 
 
\t \t \t \t \t type: 'bar', 
 
\t \t \t \t \t labels: labelsarr, 
 
\t \t \t \t \t label: 'Sample 1', 
 
\t \t \t \t \t backgroundColor: 'rgba(0, 119, 204, 0.8)', 
 
\t \t \t \t \t data: [values] 
 
\t \t \t \t }, { 
 
\t \t \t \t \t type: 'line', 
 
\t \t \t \t \t label: 'Set 2', 
 
\t \t \t \t \t backgroundColor: 'rgba(0,119, 208, 0.8)', 
 
\t \t \t \t \t data: [values1] 
 
\t \t \t \t }, { 
 
\t \t \t \t options: { 
 
\t \t \t \t \t tooltips: { 
 
\t \t \t \t \t \t callbacks: { 
 
\t \t \t \t \t \t \t label: function (t, d) { 
 
\t \t \t \t \t \t \t \t var xLabel = d.datasets[t.datasetIndex].label; 
 
\t \t \t \t \t \t \t \t var yLabel = t.yLabel >= 1000 ? '$' + t.yLabel.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") : '$' + t.yLabel; 
 
\t \t \t \t \t \t \t \t return xLabel + ': ' + yLabel; 
 
\t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t } 
 
\t \t \t \t \t }, 
 
\t \t \t \t \t legend: { 
 
\t \t \t \t \t \t display: false, 
 
\t \t \t \t \t \t position: 'top', 
 
\t \t \t \t \t \t text: 'Sample 2', 
 
\t \t \t \t \t }, 
 
\t \t \t \t \t scales: { 
 
\t \t \t \t \t \t yAxes: [{ 
 
\t \t \t \t \t \t \t \t ticks: { 
 
\t \t \t \t \t \t \t \t \t beginAtZero: true, 
 
\t \t \t \t \t \t \t \t \t callback: function (value, index, values) { 
 
\t \t \t \t \t \t \t \t \t \t if (parseInt(value) >= 1000) { 
 
\t \t \t \t \t \t \t \t \t \t \t return '$' + value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
 
\t \t \t \t \t \t \t \t \t \t } else { 
 
\t \t \t \t \t \t \t \t \t \t \t return '$' + value; 
 
\t \t \t \t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t \t }] 
 
\t \t \t \t \t } 
 
\t \t \t \t }, 
 
\t \t \t \t plugins: [{ 
 
\t \t \t \t \t \t beforeDraw: function (chart) { 
 
\t \t \t \t \t \t \t var labels = chart.data.labels; 
 
\t \t \t \t \t \t \t labels.forEach(function (e, i) { 
 
\t \t \t \t \t \t \t \t var bar = chart.data.datasets[0]._meta[0].data[i]._model; 
 
\t \t \t \t \t \t \t \t var dataPoint = e.split(/\s/)[1]; 
 
\t \t \t \t \t \t \t \t if (dataPoint === '16') 
 
\t \t \t \t \t \t \t \t \t bar.backgroundColor = 'orange'; 
 
\t \t \t \t \t \t \t \t else if (dataPoint === '17') 
 
\t \t \t \t \t \t \t \t \t bar.backgroundColor = 'blue'; 
 
\t \t \t \t \t \t \t }); 
 
\t \t \t \t \t \t } 
 
\t \t \t \t \t }] 
 
\t \t \t \t } 
 
\t \t \t }] \t 
 
\t \t);

+0

Bonne prise - altérant qui me donne maintenant une erreur de « Uncaught SyntaxError: jeton inattendu: » –

+0

Il y avait quelques erreurs de syntaxe, que j'ai corrigées dans le montage - je pense que cela devrait être tout. – Zomarea