2016-05-15 8 views
2

Ich benutze Highchart, um ein Diagramm zu zeichnen. Ich benutze dieses Format in Tooltip highchart:Kommas in Tooltip von Highchart

tooltip: { 
    crosshairs: [true, true], 
    shared: true, 
    useHTML: true, 
    formatter: function() { 

      var s = []; 
      s.push('<table><tr><td style="text-align:right;" colspan="3"><b>' + 
      this.x + '</b></td></tr>'); 
      $.each(this.points, function(i, point) { 
       s.push('<tr><td style="text-align: right;">'+ 
           '<b><span style="color:'+point.series.color +'">\u25CF</span></b>'+ 
          '</td>'+ 
          '<td style="text-align: right;"><b>'+point.series.name +' : </b></td>'+ 
          '<td><b>' + point.y+'</b></td>'+ 
         '</tr>'); 
      }); 

      s.push('<tr><td style="text-align:right;" colspan="3"><b>تعداد خبر : ' + 
      this.points[0].point.NumberNews + '</b></td></tr></table>');         
      return s; 
    } 
}, 

das Ergebnis ist dasselbe:

Result

Meine Frage ist: Warum Anfang der einige Komma Tooltip drucken? Wie kann ich diese löschen?

danke

Antwort

4

Sie geben ein Array zurück. Die formatter erwartet, dass eine Zeichenfolge zurückgegeben wird. Es scheint die Trennzeichen Kommas aus den Array-Einträgen zu drucken.

Sie haben den Code:

var s = []; 
// ... 
return s; 

Stattdessen könnten Sie tun (JSFiddle):

var s = []; 
// ... 
return s.join(''); 

Diese verkettet nur die Array-Einträge ohne Trennzeichen Zeichen.

0

Dies ist das Standardzeichenfolgentrennzeichen für die Rückgabe des Arrays.

tooltip: { 
    crosshairs: [true, true], 
    shared: true, 
    useHTML: true, 
    formatter: function() { 

     var s = []; 
     s.push('<table><tr><td style="text-align:right;" colspan="3"><b>' + 
     this.x + '</b></td></tr>'); 
     $.each(this.points, function(i, point) { 
      s.push('<tr><td style="text-align: right;">'+ 
          '<b><span style="color:'+point.series.color +'">\u25CF</span></b>'+ 
         '</td>'+ 
         '<td style="text-align: right;"><b>'+point.series.name +' : </b></td>'+ 
         '<td><b>' + point.y+'</b></td>'+ 
        '</tr>'); 
     }); 

     s.push('<tr><td style="text-align:right;" colspan="3"><b>تعداد خبر : ' + 
     this.points[0].point.NumberNews + '</b></td></tr></table>');         
     return s.join(''); //This will removed comma's, if you want to put an string separator just insert it inside the return// 
    } 
}, 
+0

Sie sollten auch eine Erklärung in der Antwort hinzufügen. –

+0

Die Methode join() verbindet die Elemente eines Arrays zu einer Zeichenfolge und gibt die Zeichenfolge zurück. Die Elemente werden durch ein spezifisches Trennzeichen getrennt. Das Standardtrennzeichen ist Komma (,). – JJG