Запятые во всплывающей подсказке Highchart

Я использую 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;   
    }
},

результат тот же:

Результат

Мой вопрос: почему в верхней части этой подсказки печатаются запятые? Как я могу удалить их?

Спасибо

2 ответа

Решение

Вы возвращаете массив. formatter ожидает, что строка будет возвращена. Кажется, чтобы напечатать разделитель запятые из записей массива.

У вас есть код:

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

Вместо этого вы можете сделать ( JSFiddle):

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

Это просто объединяет записи массива без знака разделителя.

Это разделитель строк по умолчанию для возвращаемого массива.

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//   
    }
},
Другие вопросы по тегам