2016-04-04 66 views
-1

我試圖循環5次HTML代碼,並在此循環嘗試添加顏色變量只有數量的評級時間。javascript循環評分

可能是另一個循環之後的HTML?

請給一個想法,也許還有其他更好的辦法待辦事項這

Template7.registerHelper('rating', function(options) { 
    var rating = this.avgrating; 
    var color = 'color-orange'; 
    var html =""; 
    for (i = 0; i < 5; i++) { 
     html += '<i class="fa fa-star ' + color + '"></i>'; 
    } 
    return html; 
}); 

IM假設變種的評價值3返回HTML應該返回這樣

<i class="fa fa-star color-orange"></i> 
<i class="fa fa-star color-orange"></i> 
<i class="fa fa-star color-orange"></i> 
<i class="fa fa-star"></i> 
<i class="fa fa-star"></i> 

回答

0
Template7.registerHelper('rating', function(options) { 
    var rating = this.avgrating; 
    var color = 'color-orange'; 
    var html =""; 
    for (i = 0; i < 5; i++) { 
     if(i <= rating){ 
     html += '<i class="fa fa-star ' + color + '"></i>'; 
     }else{ 
     html += '<i class="fa fa-star"></i>'; 
     } 
    } 
    return html; 
}); 

您可以檢查是否條件得到期望的結果。

+0

輝煌謝謝。 – memo

+0

imo更具可讀性,因爲你不重複模板:'for(var i = 0; i <5; i ++){+}顏色:'')+'「>'; } – Thomas

+0

謝謝。更多'Template7.registerHelper('rating',function(options){0} i class =「fa fa-star」+(i '; } return html; }); – memo

0

是的,一個循環是最好的解決方案。當你把2彼此內部循環,那麼被稱爲嵌套for循環