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

时间:2016-09-23 18:12:01

标签: javascript php jquery

我试图使条形图更加动态,以便用户能够更改输入的值的数量。我使用了一个转换为JQuery变量的php变量。现在图表工作正常,但是当我尝试添加if语句时,如果条形图的数量大于或等于图表消失的值的数量。有人知道我在哪里出错吗?

uglify: {
        options: {
            mangle: false
        },
        all: {
            files: [{
                expand: true,
                cwd: 'dev/assets/js',
                src: ['*.js', '**/*.js'],
                dest: 'prod/assets/js'
            }]
        },
        my_target: {
          files: {
              'prod/js/app.min.js' : ['prod/assets/js/**/*.js']
          }
        }
    }

2 个答案:

答案 0 :(得分:0)

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

我为你创建了一个变量,然后分配给它。 (我根据你的趋势将它默认为空数组。然后我会在JSON中为RGraph.Bar分配它

<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>

答案 1 :(得分:0)

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

你的代码应该是:

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