jRating:如何通过xml更新星号值或通过选项给它一个默认值。

时间:2012-11-09 22:14:23

标签: php html jquery jquery-plugins

我正在使用jRating星级评级 http://www.myjqueryplugins.com/jquery-plugin/jrating

在同一页面上,他们有您可以随意配置的选项。除了我正在寻找的一个。

我喜欢有一个默认值,比如某些图像的1,2或5星评级。我怎么能这样做?我正在使用jQuery和ajax或xml从服务器获取数据并将其分配给我找不到的选项。我对php一无所知,所以他们的例子根本没用。任何帮助都会很棒。谢谢。

<script type="text/javascript">
    $(document).ready(function(){
        $(".exemple2").jRating({
            rateMax: 5,
            showRateInfo: false,
            isDisabled:true,
            value: 3,<----------- option like this is not available how can I can do this 
            length : 5 // nb of stars
        });
    });
</scrip>


<!-- basic exemple -->
<div class="exemple">
    <!-- in this exemple, 12 is the average and 1 is the id of the line to update in DB -->
   <div class="exemple2" id="12_1"></div>
    <!-- in this other exemple, 8 is the average and 2 is the id of the line to update     in DB -->
   <div class="exemple2" id="8_2"></div>
</div>

2 个答案:

答案 0 :(得分:0)

根据我对examplessource的理解,您需要为设置评分组件的div命名,使其类似于x_y。 其中x是您想要给出的评级比例。

例如,如果您希望系统中共有5颗星(长度= 5)。例子:

  • 如果您希望默认评级为2.5,则x为10 [为5 *(10/20)= 2.5]。该div的ID可以命名为“10_2”。
  • 如果您想要等级4,则x将为16 [为5 *(16/20)= 4]。该div的ID可以命名为“16_5”。

[得分从20开始计算。星数可配置]

您可以按照自己喜欢的方式获取数据,但是,在创建评级的div时,您必须遵循此命名约定才能使用此插件[根据我的理解]。

答案 1 :(得分:0)

这不是一个选择。你必须修改jRating.jquery.js

        var startWidth = 0;
        if($(this).data('rating')){
            rating = $(this).data('rating');
            rating = parseFloat(rating);
            startWidth = rating/opts.rateMax*widthRatingContainer; // Width of the color Container
            ratingWidth = startWidth;
        }

average = $('<div>', {
            'class' : 'jRatingAverage',
            css:{
                width: 0,
                top:- starHeight
            }
        }).appendTo($(this)),

将0更改为startWidth,然后将data-rating属性设置为默认值。

<div id="star_rating" data-rating="3"></div>