嵌套表单 gem 和 jquery 的 Rails 问题
Posted
技术标签:
【中文标题】嵌套表单 gem 和 jquery 的 Rails 问题【英文标题】:Rails Issue with nested_form gem and jquery 【发布时间】:2015-08-26 18:49:40 【问题描述】:我有一个嵌套表格,并使用了 ryan bates 的nested_form gem,我在该领域使用了老鼠星,表格为
<%= 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
);
);
问题是,当我点击添加问题时,之前的星级评分为空,我知道为什么会这样,因为我再次将评分函数传递给所有星级问题 请告诉我如何添加保留以前星级的问题
【问题讨论】:
这是一个解决方案吗?我不明白 @nishantvarshney 你确定这是一个有效的 JS 吗? @hawk 我已经编辑了 JS 请仔细阅读 【参考方案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
);
);
);
【讨论】:
我已经编辑了您的答案,您忘记了要输入的内容,但是这个逻辑有效,非常感谢!!以上是关于嵌套表单 gem 和 jquery 的 Rails 问题的主要内容,如果未能解决你的问题,请参考以下文章
rails wicked gem has_one 关联和嵌套形式
jQuery触发嵌套表单rails cocoon上的所有实例
<ol> <li> 使用 rails partial 和 cocoon gem 实现的问题