通过轨道中的ajax关闭模态窗口

时间:2015-12-26 22:39:05

标签: jquery ruby-on-rails ajax jquery-ui ruby-on-rails-4

不确定使用jquery是否是关闭通过ajax渲染的模态窗口的正确方法......

$ ->
  $('body').on 'click', '#Close', ->
    $("#Root").hide()

当我尝试这个时,它只能工作一次。如果我点击另一个对象打开另一个模态窗口,则隐藏不起作用。

#Root
  #Bg
  #Main
    #Info
    #MainControls
      #Close{style: "cursor:pointer;"}
        %a.CloseButton
          %i X

通过以下方式呈现模态窗口:

$('body').append('<%= j render partial: "trips/quick_view" %>');

在我看来:

@trips.each do |trip|
  = link_to trip.id, quick_view_trips_path(:js, id: trip.id), remote: true

模态窗口会生成动态内容,因此我不确定关闭此内容的最佳方法是什么,如果人们关闭并打开不同的对象,则不会落后于应用程序。

1 个答案:

答案 0 :(得分:-1)

在评论回复之后,我想出了我需要做什么,我只需要使用.remove()代替.hide()。这是有效的,不确定它是否是最终正确的方式,所以除非有更好的答案,否则我会将此标记为关闭。

$ ->
  $('body').on 'click', '#Close', ->
    $("#Root").remove()