大家好,我正在使用星级评分jQuery插件Raty进行评论/评分。现在,我有一个需要查看的数据列表,然后查看方法将在boostrap模式框中。但是,评级星只出现在我列表的第一个表格中,而该星不会出现在其余表格中。仅在审核并提交第一个表格后,才会显示第二个表格的星标。例如下面的图片。
这是列表的第一种形式。星星在显示并且能够给出评级。
然后列表中的第二个表格中,星星从表格中消失了,只有第一个表格被审阅并提交后才会显示。
以下是最终结果。但目前,我能够从顶部开始逐一评分,我希望我可以随机进行评分。
下面是我在表格和模式框中呈现列表的代码。
<% @appointment.approve_applicants.each_with_index do |applicant, index| %>
<tr>
<td><%= index + 1 %></td>
<td><%= link_to applicant.user.fullname, applicant.user %></td>
<td><%= link_to "Reviews", applicant.build_review, "data-toggle" => "modal", "data-target" => "#detail#{applicant.id}" %></td>
<td></td>
<!--Modal-->
<div class="modal fade" id="detail<%= applicant.id %>" role="dialog">
<div class="modal-dialog">
<!--Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close close_book_detail" data-dismiss="modal">×</button>
<%= form_for(Review.new) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
Rating for user <%= applicant.user.fullname %>
<div class="form-group row">
<%= f.label :rating, class: 'col-sm-2 form-control-label' %>
<div class="col-sm-6" id='star-rating'>
<%=hidden_field_tag "review[rating]", '', id: "rating_star" %>
</div>
</div>
<%= f.label :comment %>
<%= f.text_area :comment, placeholder: "Please enter comment here." %>
<%= f.submit "Save changes", class: "btn btn-primary" %>
<% end %>
</div>
</div>
</div>
</div>
</tr>
<% end %>
下面是jQuery Rating Star插件的JavaScript。
<script>
$('#star-rating').raty({
path: '/assets',
target : '#rating_star',
targetType : 'score',
targetKeep : true
});
</script>
<script>
$('.star-rating-show').raty({
path: '/assets/',
readOnly: true,
score: function() {
return $(this).attr('data-score');
}
});
</script>
预先感谢您对我的帮助!