【问题标题】:kaminari ajax pagination not updating the paginatekaminari ajax 分页不更新分页
【发布时间】:2011-07-27 23:29:09
【问题描述】:

我正在使用 kaminari gem 在 rails3 中实现分页。

我一直在关注 github 上的这段代码 https://github.com/amatsuda/kaminari_example/commits/ajax

不幸的是,下面的代码

jQuery('#paginator').html('true).to_s) %>');

似乎没有工作。

我的 javascript 用于用户选择页面的操作是

jQuery('a','nav.pagination').click(function(){ // 从href中获取页面值 var page = jQuery(this).attr('href').replace('/home/index?page=',''); jQuery.getJSON('?page='+page, function(data){ for (var r in data){ 结果.push(数据[r]); }); showResults(结果,(page-1)*10); jQuery('#paginator').html('true).to_s) %>'); });

showResults 函数通过 JSON 运行并创建一堆 html 元素。 一切都很好,除了重新加载结果时分页没有更新以显示当前页面。

我在 firebug 中没有收到任何错误,我正在使用带有 ruby​​ 192 的 Rails 3。

【问题讨论】:

    标签: ruby-on-rails ajax pagination


    【解决方案1】:

    您确定您的 HTML 中有分页器的“#paginator”元素吗? 我的意思是,以下代码是否返回 Firebug 上的元素?

    jQuery('#paginator')
    

    【讨论】:

    • 是的,firebug 发现 id='paginator' 没问题。不知道为什么这不起作用。虽然我正在考虑用滑块替换“分页链接”,所以我可能不会担心。
    【解决方案2】:

    为了更新结果和分页,您需要同时更新两者。 Paginate AJAX 将请求作为 JS 发送,因此要处理它们,您应该在 view 文件夹中有 action.js.erb 文件。在这里执行两件事。

    1) 更新结果

    $("#issues").html("<%= j render(:partial => 'recipes') %>");
    

    2) 更新分页

    $('.pagination').html('<%= escape_javascript(paginate(@recipes, :remote => true).to_s) %>');
    

    找到相应的页面属性来更新分页。这将更新结果和分页运行时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 2011-07-06
      • 2015-09-04
      • 1970-01-01
      • 2011-08-02
      • 2014-06-26
      • 1970-01-01
      相关资源
      最近更新 更多