Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Kaminari无休止的分页问题_Jquery_Ruby On Rails 3_Pagination_Kaminari - Fatal编程技术网

Jquery Kaminari无休止的分页问题

Jquery Kaminari无休止的分页问题,jquery,ruby-on-rails-3,pagination,kaminari,Jquery,Ruby On Rails 3,Pagination,Kaminari,我正在尝试使用Kaminari+jQuery进行无休止的分页/无限滚动。我试图将分页结果(行)附加到表中。不幸的是,结果(行标记)显示在表上方。以下是我现有的设置: 事件\u控制器.rb class EventsController < ApplicationController respond_to :html, :js def index @events = Event.all respond_with(@events) end end 类事件控制器=

我正在尝试使用Kaminari+jQuery进行无休止的分页/无限滚动。我试图将分页结果(行)附加到表中。不幸的是,结果(行标记)显示在表上方。以下是我现有的设置:

事件\u控制器.rb

class EventsController < ApplicationController
  respond_to :html, :js

  def index
    @events = Event.all
    respond_with(@events)
  end

end
类事件控制器
事件/index.html.erb

<div id="events-container">

  <table cellpadding="3" cellspacing="0">
    <thead>
      ...
    </thead>

    <tbody>
      <% if @events.blank? %>
        <tr><td> No events yet</td></tr>
      <% else %>
        <div id="events">
          <%= render @events %>
        </div>
      <% end %>
    </tbody>
  </table>

  <nav class="pagination-container">
    <%= paginate @events %>
  </nav>​

</div>​

...
还没有活动
​
​
事件/index.js.erb

$('#events').append('<%= j render(@events) %>');

<% if (@events.current_page < @events.num_pages) %>
    $('.pagination').replaceWith('<%= j paginate(@events) %>');
<% else %>
    $('.pagination-container').remove();
<% end %>
$(“#事件”).append(“”);
$('.pagination')。替换为('';
$('.pagination容器').remove();
events/_event.html.erb

<tr>
  <td><%= event.time %></td>
  ...
</tr>

<tr>
  <td><%= event.location %></td>
  ...
</tr>

...
...
事件\u无止境\u paging.js

jQuery(function() {
  var isScrolledIntoView;
  isScrolledIntoView = function(elem) {
    var docViewBottom, docViewTop, elemBottom, elemTop;
    docViewTop = $(window).scrollTop();
    docViewBottom = docViewTop + $(window).height();
    elemTop = $(elem).offset().top;
    elemBottom = elemTop + $(elem).height();

    return (elemTop >= docViewTop) && (elemTop <= docViewBottom);
  };

  if ($('.pagination').length) {
    $(window).scroll(function() {
      var url;
      url = $('.pagination .next a').attr('href');
      if (url && isScrolledIntoView('.pagination')) {
        $('.pagination').text('Fetching more...');

        var script = $.getScript(url);
        return script;
      }
    });

    return $(window).scroll();
  }
});
jQuery(函数(){
var IsCrolledinToView;
isScrolledIntoView=功能(元素){
var docViewBottom、docViewTop、elemBottom、elemTop;
docViewTop=$(窗口).scrollTop();
docViewBottom=docViewTop+$(窗口).height();
elemTop=$(elem).offset().top;
elemBottom=elemTop+$(elem).height();

return(elemTop>=docViewTop)&(elemTop我认为在表体中有一个div是无效的

如果删除div并将新行直接附加到tbody,您应该会更成功

<tbody>
  <% if @events.blank? %>
    <tr><td> No events yet</td></tr>
  <% else %>
    <%= render @events %>
  <% end %>
</tbody>

还没有活动

我认为在表体中有一个div是无效的

如果删除div并将新行直接附加到tbody,您应该会更成功

<tbody>
  <% if @events.blank? %>
    <tr><td> No events yet</td></tr>
  <% else %>
    <%= render @events %>
  <% end %>
</tbody>

还没有活动

更改
$(“#事件”).append(“”)
$(“#事件>tbody:last”).append(“”)
会产生任何结果吗?未经测试,因此会有注释。好主意。不幸的是,事件没有显示在任何地方。尝试了append和prepend。不过,要进一步修改您建议的方法。更改
$(“#events”).append(“”)
$(“#events>tbody:last”).append(“”)
产生任何结果?未经测试,因此进行注释。好主意。不幸的是,事件没有显示在任何地方。尝试了append和prepend。不过,我们将进一步修改您建议的方法。很好。这很有效:$(“#events container tbody”)追加(’');很高兴它对你有用,既然如此,你会考虑接受我的回答吗?甜蜜的。这是有效的:$'('''事件容器TBOR')。追加('');很高兴它为你工作,既然如此,你会考虑接受我的答案吗?