2016-11-30 48 views
0

我正在使用JQuery rateit插件在我的流星應用程序中實現星級評分。我在應該留下評論和評分點的表單中使用rateit。爲什麼rateit中的星星不會出現,除非我刷新頁面?

{{#if reviewedProvider}} 
    <hr> 
    <strong>Review Details</strong> 
    {{#with providerReviewDetails}} 
     <p>{{this.reviewMessage}}</p> 
     <span class="rateit" data-rateit-value="{{this.pointsRated}}" data-rateit-readonly="true"></span> 
    {{/with}} 
{{else}} 
    <hr> 
    <form id="reviewProvider"> 
     <div class="form-group"> 
      <label for="writeReview">Write a review</label> 
      <textarea name="reviewMessage" id="writeReview" rows="3" class="form-control"></textarea><br> 
      <label>Rate provider</label><br> 
      <span class="rateit"></span> 
     </div> 
     <button class="margin-top-5 btn btn-sm btn-primary" type="submit">Submit</button> 
    </form> 
{{/if}} 

並且在提交表格後,表格應該被評論信息和星星評定。

'submit #reviewProvider': function(event, template) { 
    event.preventDefault(); 
    var providerId = this.assignedProvider; 
    var buyerId = this.userId; 
    var jobId = this._id; 
    var timeReviewed = new Date(); 
    var ratedPoints = Template.instance().ratingPoints.get(); 
    var reviewMessage = ""; 
    $('textarea[name="reviewMessage"]').each(function() { 
     reviewMessage += $(this).val(); 
    }) 
    Meteor.call('reviewProvider', providerId, buyerId, jobId, timeReviewed, ratedPoints, reviewMessage, function(error) { 
     if(error) { 
      toastr.error('Failed to submit review. Please try again.'); 
     } 
    }) 
} 

提交表單後,我可以看到表單被替換爲評論內容。我可以看到評論信息,但除非刷新頁面,否則看不到星級。

+1

<template name="rate"> <span class="rateit" data-rateit-value="{{this.pointsRated}}" data-rateit-readonly="true"></span> </template> 

然後初始化插件?如果我猜測,rateit初始化函數僅適用於頁面呈現。這將解釋爲什麼頁面刷新觸發星星被看到。 – blueren

回答

0

環繞你率它在一個模板時^模板您正在使用的任何包rateit呈現

Template.rate.onRendered(function() { 
    $('.rateit').rateit(); 
}); 
相關問題