测试变量是否正确,并显示条形图数据

Test if variable is correct number and display bar chart data

本文关键字:显示 条形图 数据 变量 是否 测试      更新时间:2023-09-26

我想让我的条形图更动态一点,这样用户就可以改变输入的值的数量。我使用的php变量被转换成JQuery变量。现在图表工作得很好,但当我尝试添加if语句,如果条形数大于或等于值的数量,图表就消失了。有人知道我哪里出错了吗?

<script>
    window.onload = function (){
        var pValue1 = <?php echo $pValue1;?>;
        var pValue2 = <?php echo $pValue2;?>;
        var pValue3 = <?php echo $pValue3;?>;
        var pValue4 = <?php echo $pValue4;?>;
        var pValue5 = <?php echo $pValue5;?>;
        var NoOfBars = <?php echo $NoOfBars;?>;
        var bar = new RGraph.Bar({
            id:'cvs1',
            data: 
            if (NoOfBars >= 1){
                [pValue1],
            }
            if (NoOfBars >= 2){
                [pValue1, pValue2],
            }
            if (NoOfBars >= 3){
                [pValue1, pValue2, pValue3],
            }
            if (NoOfBars >= 4){
                [pValue1, pValue2, pValue3, pValue4],
            }
            if (NoOfBars >= 5){
                [pValue1, pValue2, pValue3, pValue4, pValue5],
            }
            options: {
              backgroundGridDashed: true,
              labels: ['Mal', 'Barry', 'Gary', 'Neil', 'Kim', 'Pete', 'Lou', 'Fred', 'Jobe'],
              title: 'Title of Chart',
              strokestyle: 'rgba(0,0,0,0)',
              textAccessible: true
            }
        }).draw();
    };
</script>

所以你要做的是分配给JSON,但你需要做的是将其分配给一个变量,因为你有很多条件。

我为您创建了一个变量,然后将其赋值。(我根据你的趋势将其默认为空数组。然后我会在RGraph的JSON中分配它。酒吧

<script>
    window.onload = function (){
        var pValue1 = <?php echo $pValue1;?>;
        var pValue2 = <?php echo $pValue2;?>;
        var pValue3 = <?php echo $pValue3;?>;
        var pValue4 = <?php echo $pValue4;?>;
        var pValue5 = <?php echo $pValue5;?>;
        var NoOfBars = <?php echo $NoOfBars;?>;
        var barValue = [];  // <-- new variable.
        if (NoOfBars >= 1){
            barValue = [pValue1];
        }
        if (NoOfBars >= 2){
            barValue = [pValue1, pValue2];
        }
        if (NoOfBars >= 3){
            barValue = [pValue1, pValue2, pValue3];
        }
        if (NoOfBars >= 4){
            barValue = [pValue1, pValue2, pValue3, pValue4];
        }
        if (NoOfBars >= 5){
            barValue = [pValue1, pValue2, pValue3, pValue4, pValue5];
        }
        var bar = new RGraph.Bar({
            id:'cvs1',
            data: barValue,     //  <-- assignment
            options: {
              backgroundGridDashed: true,
              labels: ['Mal', 'Barry', 'Gary', 'Neil', 'Kim', 'Pete', 'Lou', 'Fred', 'Jobe'],
              title: 'Title of Chart',
              strokestyle: 'rgba(0,0,0,0)',
              textAccessible: true
            }
        }).draw();
    };
</script>

这就是NOT如何有条件地构建数组。if不是一个函数,它没有返回值,你不能将if赋值给一个变量。

你的代码应该是:

var foo = []; // empty array
if ( ... something ...) {
   foo.push(new value);
}
if (... something else ) {
   foo.push (new value);
}
doSomething(foo);