从饼图中删除0% - php

我无法从饼图中删除不需要的0%。此数字显示所有可用选项的百分比。如果一个选项根据过滤器没有任何值,它会显示一个0%的值,我想将其删除。我在下面粘贴我的代码。

function drawPieChart(versionStatusCanvas,on_hold, active, cancelled, 
activecount, onholdcount, cancelledcount) {

    var versionStatusData = [{
    value: on_hold,
    color:"#444444",
    label: "On Hold(" +onholdcount+")",
},
{
    value: active,
    color: "#72bb53",
    label: "Active(" +activecount+")",
},
{
    value: cancelled,
    color: "#ff6624",
    label: "Cancelled(" +cancelledcount+")",

}];
var versionStatusCanvas = document.getElementById("versionStatus");
var versionStatusCtx = versionStatusCanvas.getContext("2d");
var versionStatusChart = new Chart(versionStatusCtx).Pie(versionStatusData,{
    animationSteps: 100,
    animationEasing: 'easeInOutQuart',
    showTooltips: false,
    segmentShowStroke : false,
    onAnimationProgress: drawSegmentValues
});

document.getElementById('version-status-legend').innerHTML = 
versionStatusChart.generateLegend();

function drawSegmentValues(){
var radius = versionStatusChart.outerRadius;
var midX = versionStatusCanvas.width/2;
var midY = versionStatusCanvas.height/2
for(var i=0; i<versionStatusChart.segments.length; i++){
    versionStatusCtx.fillStyle="white";
    var textSize = versionStatusCanvas.width/20;
    versionStatusCtx.font= textSize+"px Verdana";
    // Get needed variables
    var value = versionStatusChart.segments[i].value + '%';
    var startAngle = versionStatusChart.segments[i].startAngle;
    var endAngle = versionStatusChart.segments[i].endAngle;
    var middleAngle = startAngle + ((endAngle - startAngle)/2);

    // Compute text location
    var posX = (radius/2) * Math.cos(middleAngle) + midX;
    var posY = (radius/2) * Math.sin(middleAngle) + midY;

    // Text offside by middle
    var w_offset = versionStatusCtx.measureText(value).width/2;
    var h_offset = textSize/4;
    if(value != '0.0%')
    versionStatusCtx.fillText(value, posX - w_offset, posY + h_offset);
}
}
}

这些值从JSON中的php控制器传递。我尝试了各种方法来使它正常工作,但我却做不到。任何援助将不胜感激。

php参考方案

尝试这个:

if(parseInt(value) > 0)
    versionStatusCtx.fillText(value, posX - w_offset, posY + h_offset);
}

parseInt(value)将值解析为int以与零进行比较。以前在代码中,该值将一个%符号连接到该值,使其成为字符串。

验证php中的javascript对象 - php

在我的用户界面中,用户可以构建一些javascript对象,例如:var box = { "width": "100px", "height": "200px", "click": function () { alert("You clicked t…

php:是否有充分的理由引用所有数组键/索引? - php

我正在遍历别人的代码,他们总是避免转义其数组键。例如:$ row_rsCatalogsItems [名称]代替$ row_rsCatalogsItems ['名称']因此,我不断地对自己接触的所有事物进行微小的更改,以应对这些惰性。但是现在我想知道这样做是否有很多好处。我得到它会在默认为字符串之前检查常量(我在处理常量时会讨厌php中的行为,因为即使未定义,…

当文本等于单选按钮的值时,选择单选按钮 - php

当下拉菜单中的文本等于值时,是否可以选择2个名称相同但值不同的单选按钮中的1个?https://paste.ee/p/2iCjA第97行我用if-else尝试过:if($('input[name="anrede"]').val() == 'Herr') { $("#Herr").…

从网址中删除特殊字符,但不删除其他语言字符 - php

我正在开发一个Web应用程序,人们可以用英语和其他语言发布文章(例如论坛)。为了从帖子标题创建漂亮的永久链接,我使用如下代码。PHP:$ln=preg_replace("/[^A-Za-z0-9[:space:]]/","",$name); $ln = strtolower($ln); $ln=str_replace(…

php fopen相对路径断开-神秘 - php

我知道“必须进行某些更改”,但是我的代码似乎整夜无故中断。我的服务器目录结构是这样的: / /脚本 /审计 /其他事情我在“脚本”文件夹中有一个脚本(假设它被称为“ /scripts/MyScript.php”),该脚本使用curl收集网页中的数据,并将其日期过的副本保存在“审核”文件夹中。要写入审核文件夹,我使用了 $ fh = fopen(“ ./ au…