My application has an API that returns a rating from 1-5 under the category "ratings." Along with this, I have a set of 5 stars. Upon clicking a button, these stars are supposed to change color based on the rating received - turning red for each number in the ratings and one star remaining black. I have created the necessary HTML and CSS elements, but upon pressing the button, no data is displayed. As a workaround, I added a basic alert which worked fine. The current implementation looks like this:
DEMO:
$("#viewreview").click(function(){
$.ajax("api link").done(function(data){
$(".reviewblk").html('');
var htmlstr = '';
for(var i=0; i<data.length; i++){
var rating = parseInt(data[i]["rating"]);
var chk = ['', '', '', '', ''];
for(var j=0; j<rating && j<5;j++){
chk[j] = 'checked';
}
htmlstr += '<div class="preview"><img src="reviewicon1.jpg" alt="reviewpic" class="revImg" /><div class="stars"><p class="checked '+chk[0]+'"></p><p class="checked '+chk[1]+'"></p><p class="checked '+chk[2]+'"></p><p class="checked '+chk[3]+'"></p><p class="checked '+chk[4]+'"></p></div><h3 class="personName">'+data[i]["nickname"]+'</h3><div class="revtext"><p>'+data[i]["review"]+'</p></div></div><hr />';
}
$(".reviewblk").html(htmlstr);
});
})
... (CSS and HTML code snippets follow) ...