0
내 유성 응용 프로그램에서 별 등급을 구현하는 데 JQuery 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.');
}
})
}
양식을 제출 한 후 양식이 검토 내용으로 대체 된 것을 볼 수 있습니다. 리뷰 메시지를 볼 수는 있지만 페이지를 새로 고침하지 않으면 등급 별을 볼 수 없습니다.
을 렌더링 할 때
그런 다음 플러그인을 초기화
템플릿에 속도를 바꿈? 추측한다면 rateit initialize 함수는 페이지 렌더링에서만 작동합니다. 그러면 왜 페이지 새로 고침이 별을 표시하는지 설명 할 수 있습니다. – blueren