我使用raty插件在多个项目上显示评级星标。我将评级分数初始化为数据属性,如
<span class="rating_score" data-rating="{{ review.rating}}" ></span>
然后我跑过这些课程,然后我按照
开始ratyjQuery(".rating_score").each(function() {
$_this = jQuery(this);
console.log(($_this.attr('data-rating') ));
jQuery(this).raty({
path: '/bundles/gfx/rating/',
starOn: 'star.gif',
starOff: 'star_empty.gif',
hintList: ['1', '2', '3', '4', '5'],
scoreName: 'rating',
start: ($_this.attr('data-rating') ),
width: 13,
readOnly: true
});
});
问题是每个项目显示的评级值是相同的,片段中有什么错误
答案 0 :(得分:0)
试试这个(请参阅我已更改的评论):
jQuery(".rating_score").each(function() {
$_this = jQuery(this);
jQuery(this).raty({
starOn: 'star', // this should be a class name with your class styling the star image rather than a gif
starOff: 'star_empty', // this should be a class name with your class styling the empty star image rather than a gif
hintList: ['1', '2', '3', '4', '5'],
scoreName: 'rating',
score: $_this.attr('data-rating'), // instead of start, use score and remove the brackets
readOnly: true // remove this if you want to be able to select a new rating
});
});
.rating_scrore {
display: block;
}
.star,
.star_empty {
display: inline-block;
width: 15px;
height: 15px; /* change width & height to match star gif dimensions*/
}
.star {
background: red; /*change this to be you star.gif*/
}
.star_empty {
background: blue; /*change this to be you star_empty.gif*/
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://jacob87.github.io/raty-fa/lib/jquery.raty-fa.js"></script>
<span class="rating_score" data-rating="1"></span><br />
<span class="rating_score" data-rating="2"></span><br />
<span class="rating_score" data-rating="3"></span><br />
<span class="rating_score" data-rating="4"></span><br />