2015-10-06 38 views
-1

样本串输出jQuery的 - 基于计数

[{v:5, f:'Week 1'}, {v:10, f:'Week 2'},{v:15, f:'Week 3'},{v:20, f:'Week 4'},{v:25, f:'Week 5'}] 

片段

function weekAxis(){ 

var ticks = ''; 
var week_count = <?php echo $chart ?>; //count number of weeks 

    for(i=0; i<=week_count; i++){ 

     var tick_str[] = '{v:'+week_count, f:'Week' +week_count}'; 
    } 
return ticks; 

} 
环路字符串数组

所需的输出基于周计数

如果week_count = 5

var ticks = [{v:5, f:'Week 1'}, {v:10, f:'Week 2'},{v:15, f:'Week 3'},{v:20, f:'Week 4'},{v:25, f:'Week 5'}] 

如果week_count = 4

var ticks = [{v:4, f:'Week 1'}, {v:8, f:'Week 2'},{v:12, f:'Week 3'},{v:16, f:'Week 4'}] 

如果week_count = 6

var ticks = [{v:6, f:'Week 1'}, {v:12, f:'Week 2'},{v:18, f:'Week 3'}, {v:24, f:'Week 4'}, {v:30, f:'Week 5'}, {v:36, f:'Week 6'}] 

如所观察到的v值乘以计数本身和将循环,直到它达到周计数。同样,Week文本将增加计数器值。

如何通过基于周计数通过以上字符串?

+0

您已经标记的问题'jquery',但我没有看到这个问题涉及到jQuery的所有东西。我*做*看看我认为是PHP代码;你想在PHP中做到这一点? –

回答

0

试试这个:你可以初始化一个数组并将地图推入它。在for循环中,用count和i变量创建映射,如下所示。

function weekAxis(){ 
 
    
 
    var ticks = new Array(); 
 
    var week_count = 4; //count number of weeks 
 
    
 
     for(i=1; i<=week_count; i++){ 
 
      var tick_str = {}; 
 
      tick_str['v'] = (week_count * i); 
 
      tick_str['f'] = 'Week ' + i ; 
 
      ticks.push(tick_str); 
 
     } 
 
    return ticks; 
 
    
 
    } 
 

 
alert(JSON.stringify(weekAxis()));

+0

它说'SyntaxError:missing;在声明之前var tick_str ['v'] = week_count * i;' – Slimshadddyyy

+0

对不起,我已经把'var'多次,现在更正了。请尝试。 –

+0

该片段按预期工作。 – Slimshadddyyy

0

这应该做的伎俩

function weekAxis(){ 
    var ticks = '',week_count = 5,tick_str = []; 
    for(i=0; i<week_count; i++){ 
     var ex = { 
      v:week_count*(i+1), 
      f:'Week'+week_count 
     }; 
     tick_str.push(ex); 
    } 
    return JSON.stringify(tick_str); 
}