使用自定义数据属性在RateYo中进行评级

时间:2017-01-02 10:15:36

标签: jquery html5 rateyo

我有很少的帖子从数据库和模板中加载我设置每个项目都有这个结构:

<li class="list-group-item">
    Rating: 
    <div class="movie_rating" data-rating="<%= movie.rating %>"></div>
</li>

但是,我无法从data-rating属性中获取价值并将其放在每个元素中:

$(".movie_rating").rateYo(
    {
        rating: $(this).attr("data-rating"),
        fullStar: true,
        readOnly: true
    }
);

我想将rateYo设置为每个元素的不同值,但是当我将它设置为一个时,它会为某个类的所有元素配置(例如,如果第一个元素的等级为1,则它将是所有元素均为1。)

3 个答案:

答案 0 :(得分:2)

问题已解决 - 我对所有元素使用了.each()而不是.rateYo()

$(".movie_rating").each( function() {
    var rating = $(this).attr("data-rating");
    $(this).rateYo(
        {
            rating: rating,
            fullStar: true,
            readOnly: true
        }
    );
});

答案 1 :(得分:0)

这包含在插件的v2.3.2中,您可以通过执行

指定上述选项
    <div class="movie_rating"
         data-rateyo-rating="<%= movie.rating %>"
         data-rateyo-full-star="true"
         data-rateyo-read-only="true"></div>

答案 2 :(得分:0)

以下是使用data方法的解决方案:

$('.movie_rating').each(function () {
    var rating = $(this).data('rating');
    $(this).rateYo({rating: rating});
});