我有一个嵌套的表格,并使用ryan bates的nested_form gem,我在该字段中使用raty星,表单为
<%= f.fields_for :round_questions do |question| %>
<%= question.label :question %>
<%= question.text_field :question %>
<div class="star-questions" > </div>
<%= question.text_field :answer %>
<% end %>
<%= f.link_to_add "Add a Question", :round_questions,
:class=> 'btn waves-effect waves-light btn-medium custom_btn_gray',:id => "add-fields" %>
并且javascript以
的形式给出$(document).ready(function() {
$('.star-questions').raty({
targetType : 'score',
targetKeep : true
});
$(document).on('click', '#add-fields', function(){
$('.star-questions').raty({
targetType : 'score',
targetKeep : true
});
});
问题是,当我点击添加一个问题时,之前的星级评分为空,我知道为什么会发生这种情况,因为我再次将raty函数传递给所有星级问题 请告诉我如何添加保留之前星级评分的问题
答案 0 :(得分:1)
尝试以下代码 -
$(function(){
$('.star-questions').raty({
targetType : 'score',
targetKeep : true
});
$(document).on('nested:fieldAdded:round_questions', function(event){
event.field.find('.star-questions').raty({
targetType : 'score',
targetKeep : true
});
});
});