jquery replaceWith和bootstrap模态

时间:2012-12-09 12:28:38

标签: jquery ruby-on-rails twitter-bootstrap bootstrap-sass

我正在使用带有rails 3.2.9的bootstrap-sass 2.1.1.0。 我在模态中有一个ajax形式。像这样:

section#avatars_form_edit
  = simple_form_for [user, avatar], html: { class: 'edit-avatar' }, remote: true do |f|
    - %w(x y w h).each do |attribute|
      = f.hidden_field "crop_#{attribute}"
    a.btn href='#' data-dismiss='modal' = t '.cancel'
    = f.button :submit, value: t('.confirm')

提交成功后,我想隐藏模态中的模态和替换元素:( update.js.erb)

<% if @avatar.errors.any? %>
  <% error = @avatar.errors[:image].first %>
  $('#avatars_form').
    find('.modal-body').prepend('<%= j render "shared/embedded_notify", key: "alert", msg: error %>');
<% else %>
  $('#avatars_modal').modal('hide');
  $('#avatars_avatar_medium').
    replaceWith('<%= j render "avatar_medium", avatar: @avatar, user: @user %>');
  $('#avatars_avatar_medium').
    on('hover', function() { $(this).find('.edit-bar').toggleClass('invisible'); });
<% end %>

问题是:有时(工作的90%),replaceWith($('#avatars_avatar_medium')。         replaceWith('&lt;%= j render“avatar_medium”,avatar:@ avatar,user:@ user%&gt;');)似乎不起作用。它不会更新我的页面。我不擅长javasript你能说出这个问题吗?谢谢!

0 个答案:

没有答案