我正在尝试为中间的值整数和摘要编号的输入添加逗号。我已经添加
$summaryNumber.toLocaleString();
但没有任何作用。我想知道我做错了什么。
这是我正在与之合作的小提琴
https://jsfiddle.net/cmLkbq6e/2/
$(function(){
$("#doughnutChart").drawDoughnutChart([
{ title: "test", value : 150000000, color: "#e65c53" },
{ title: "test", value: 150000000, color: "#26a3b1" },
{ title: "test", value: 250000000, color: "#19818d" },
{ title: "test", value : 200000000, color: "#396b7e" },
{ title: "test", value : 100000000, color: "#a5a5a5" }
]);
});
这些是我试图瞄准的价值观
这是我试图定位的摘要编号
var $summaryTitle = $('<p class="' + settings.summaryTitleClass + '">' + settings.summaryTitle + '</p>').appendTo($summary);
var $summaryNumber = $('<p class="' + settings.summaryNumberClass + '"></p>').appendTo($summary).css({opacity: 0});
$summaryNumber.toLocaleString();
在jsFiddle中,找到代码的下面部分并更改它,这是更新的JsFiddle:https://jsfiddle.net/cmLkbq6e/11/
Previously,
function drawDoughnutText(animationDecimal, segmentTotal) {
$summaryNumber
.css({opacity: animationDecimal})
.text((segmentTotal * animationDecimal).toFixed(1));
}
After Modification,
function drawDoughnutText(animationDecimal, segmentTotal) {
$summaryNumber
.css({opacity: animationDecimal})
.text((segmentTotal * animationDecimal).toLocaleString());
}
问题是$summaryNumber
是对象,它不是数字
因为我在你的代码中检查了它
var $summaryNumber = $('<p class="' + settings.summaryNumberClass + '"></p>').appendTo($summary).css({opacity: 0});
这意味着一个对象,所以你的代码不工作,你应该做的事情如下:
afterDrawed : function() {
var number = parseFloat($('#doughnutChart .doughnutSummaryNumber').html());
$('#doughnutChart .doughnutSummaryNumber').html(number.toLocaleString());
},