2017-02-04 58 views
0

我有以下ajax调用。 ajax会返回一个整数值,例如:4,我需要根据整数返回值追加星号图像字符串。例如,如果ajax返回一个4的整数,所以我需要从一个资产文件夹中追加4次星形图像字符串。我知道我可以使用循环,但是有没有简单的方法可以从整数开始重复,并根据整数计数添加图像字符串。谢谢从总整数中打印计数

$.ajax({ 
type: 'GET', 
url: 'https://test.com/WebAPI/getItemRating?moduleid=video&itemid='+elem[col]['videoid'], 
data: {}, 
contentType: "application/x-www-form-urlencoded", 
dataType: "json", 
success: function (data) { 
    var count = Math.round(data); 
    var starsArr = ""; 

    // Before this i used loop 
    //$.each(data, functn (i, element) { 
    // starsArr += "&nbsp;<img alt='star' src='/videoAssets/Galeri Video/img/star.png'/>"; 
    //}); 

    return starsArr; 
    } 
}); 
+0

从成功函数返回值,没有做任何事情。 AJAX是异步的。 – Barmar

+0

我不认为有任何循环的简单捷径。 – Barmar

+0

感谢您的建议。然后我只是坚持循环。 – digit

回答

0

您可以创建一个包含多个字符串副本的数组。然后你可以切片数组并连接它们以将它们连接成一个新的字符串。

var stars = Array(5).fill("<img alt='star' src='/videoAssets/Galeri Video/img/star.png'/>"); 
 

 
$.ajax({ 
 
    type: 'GET', 
 
    url: 'https://test.com/WebAPI/getItemRating?moduleid=video&itemid=' + elem[col]['videoid'], 
 
    data: {}, 
 
    contentType: "application/x-www-form-urlencoded", 
 
    dataType: "json", 
 
    success: function(data) { 
 
    var count = Math.round(data); 
 
    var starsHTML = stars.slice(0, count).join("&nbsp;"); 
 
    $("#stars").html(starsHTML); 
 
    } 
 
});

+0

其实,这就是我要找的。再次感谢 – digit