模态显示分页的AJAX列表结果中的单个项目,仅适用于第一页

时间:2018-01-02 14:03:09

标签: javascript jquery ruby-on-rails ajax getuikit

我有一个包含100多个成员列表的索引(例如),其中AJAX分页显示为20页/页。分页和列表更新很好。

问题:

模态也适用于但仅适用于第一页。如果我关闭'remote:true',模态适用于每一页。

到目前为止的代码:

控制器/ members_controller.rb

string longest= Regex.Matches(zad3, pattern2).Cast<Match>()
.OrderByDescending(x => x.Value.Length).FirstOrDefault()?.Value;

视图/构件/ index.html.erb

class MembersController < ApplicationController
  def index
    @members = Member.all.page(params[:page]).per(20)

    respond_to do |format|
      format.js
      format.html
    end
  end
end

视图/构件/ index.js.erb的

<table>
  <thead>
    <tr>
      <th>name</th>
      <th>modal button</th>
    </tr>
  </thead>
  <tbody id="members">
    <%= render @members %>
  </tbody>
</table>

<%= paginate @members, window: 2, remote: true %>

视图/构件/ _member.html.erb

$('#paginator').html('<%= j paginate @members %>');
$('#members').html('<%= j render partial: @members %>');

如果您需要更多信息,请询问。我正在使用UIkit3框架。

1 个答案:

答案 0 :(得分:0)

class MembersController < ApplicationController
  def index
    params[:page] ||= 1 #add this on line of code
    @members = Member.all.page(params[:page]).per(20)

    respond_to do |format|
      format.js
      format.html
    end
  end

index.js.erb中的更改我认为您不需要在js文件中传递remote:true

$('#paginator').html('<%= j paginate(@members, remote: true) %>');
$('#members').html('<%= j(render partial: @members) %>');