4

我使用 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;   
    }
},

结果是一样的:

结果

我的问题是:为什么这个工具提示的顶部会打印一些逗号?我怎样才能删除那些?

谢谢

4

2 回答 2

7

您正在返回一个数组。formatter期望返回一个字符串。似乎从数组条目中打印分隔符逗号。

你有代码:

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

相反,您可以这样做(JSFiddle):

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

这只是连接没有分隔符的数组条目。

于 2016-05-15T17:23:21.483 回答
1

这是返回数组的默认字符串分隔符。

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//   
    }
},
于 2016-07-21T06:23:00.647 回答