Rails使用nested_form gem和jquery发出问题

时间:2015-06-11 07:42:31

标签: jquery html ruby-on-rails-4 nested-form-for raty

我有一个嵌套的表格,并使用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函数传递给所有星级问题 请告诉我如何添加保留之前星级评分的问题

1 个答案:

答案 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
       });
   });
});