Jquery 在f.link“U至”附加创业板“中面临问题;嵌套的“U形”;
您好,我使用的是Jquery 在f.link“U至”附加创业板“中面临问题;嵌套的“U形”;,jquery,ruby-on-rails,ruby-on-rails-4,nested-forms,Jquery,Ruby On Rails,Ruby On Rails 4,Nested Forms,您好,我使用的是gem“嵌套形式”,在我看来,我是这样给出的 <%= f.fields_for :tasks do |task_form| %> <%= task_form.text_field :name %> <div class="star-rating" ></div> <%= task_form.text_field :rate %> <% end %> <p><%= f.lin
gem“嵌套形式”
,在我看来,我是这样给出的
<%= f.fields_for :tasks do |task_form| %>
<%= task_form.text_field :name %>
<div class="star-rating" ></div>
<%= task_form.text_field :rate %>
<% end %>
<p><%= f.link_to_add "Add a task", :tasks %></p>
为了显示我使用过的星级
gem 'jquery-raty-rails', github: 'bmc/jquery-raty-rails'
gem 'ratyrate'
所以,这添加行,但星级没有显示我附加的快照
我有这种类型的设计,但当我点击添加任务时,它不会呈现星级div,它显示如下
<%= f.fields_for :tasks do |task_form| %>
<%= task_form.text_field :name %>
<div class="star-rating" ></div>
<%= task_form.text_field :rate %>
<% end %>
<p><%= f.link_to_add "Add a task", :tasks %></p>
我已经将其包含在我的js文件中
$(document).on('nested:fieldAdded', function(event){
// this field was just inserted into your form
var field = event.field;
// it's a jQuery object already! Now you can find date input
var star = field.find('.star-rating');
// and activate datepicker on it
star.raty({
targetType : 'score',
targetKeep : true
});
})
但它仍然不起作用。
请指导如何以嵌套形式呈现该div。您可以这样做:
<%= f.fields_for :tasks do |task_form| %>
<%= task_form.text_field :name %>
<div class="star-rating" ></div>
<%= task_form.text_field :rate %>
<% end %>
<p><%= f.link_to_add "Add a task", :tasks, id:"add-fields" %></p>
这可能适用于您。您是否检查过这是否是TurboLink问题?您如何显示星级?通过Javascript阅读此文档中的Javascript事件部分。你必须编写一个js回调函数'nested:fieldAdded'
,在新字段的初始化中是的,修改了我的问题,请在内部通过它
,是的,它可以工作,但当我填充星号,然后单击add-a-task时出现问题,然后它会清空我上面填充的星号。这是因为有相同的类,所以当你点击“添加任务”,然后它会将raty添加到所有具有“星级”等级的div中。你可以使用“”设置动态类名。这将给你一个固定值,如0,1,2,3…@GauravGupta你能解释一下我们如何在代码中使用它吗?要为“div”添加动态id,我们可以这样做
$(document).on('click', '#add-fields', function(){
$('.star-rating').raty({
targetType : 'score',
targetKeep : true
});
})