Rails如何使用javascript / jQuery检测是否插入了部分

时间:2012-10-17 15:29:49

标签: javascript jquery ruby-on-rails ruby-on-rails-3.2

如何在javascript中检测部分当前是否正在显示?

因此,使用半伪代码并尝试尽可能简化以实现我的意图,

在我的控制器中我有:

def index
    if (request.xhr?)//coming from pagination ajax request
        @sessions = Session.paginate(.......)
        if @sessions.empty?
            render: partial => 'nomoresessions'
        else
            render: partial => 'sessions'
        end
    else//standard request to display
        @sessions = Session.paginate(.....)
    end

end

在我的javascript中:

function doCheck(){
  var canContinuePaginating = true;
  if (nomoresessions partial was inserted){//<--- This is what I need to figure out
      canContinuePaginating = false;
  }
  if (canContinuePaginating){
      //do stuff
  }  

}

如果有人想知道为什么我需要这个,我会通过部分将行添加到表格的底部,并在用户滚动时使用分页,一旦我到达底部,我想要附加某种可视指示符通过nomoresesssions partial表示我们位于列表的底部。然后,如果用户继续尝试滚动,我想通过javascript检测到nomoresesssions partial当前正在显示,因此不再尝试分页。

1 个答案:

答案 0 :(得分:0)

我能想到的一个简单方法是,您可能希望在您的“会话”中添加一些课程或ID。部分,像

<li class="end-of-list">
  <img src="end.png" />
</li>

然后在doCheck你可以做到:

function doCheck(){
  var canContinuePaginating = true;
  if ($('ul.content .end-of-list').length) {
    canContinuePaginating = false;