2016-11-30 40 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

をレンダリングするとき、あなたがrateitのための任意のパッケージを使用しているプラ​​グインを初期化する?テンプレートにあなたの率

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

を包み私が推測しなければならないのは、rateit初期化関数がページレンダリングでのみ機能していることです。これは、なぜページのリフレッシュがスターを見せるようにするのかを説明します。 – blueren

答えて

0

^テンプレートは

Template.rate.onRendered(function() { 
    $('.rateit').rateit(); 
}); 
関連する問題